feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
This commit is contained in:
@@ -1,19 +1,3 @@
|
||||
/*package net.minecraft.world.Item::crafting;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.world.inventory.CraftingContainer;
|
||||
import net.minecraft.world.Item::CoalItem;
|
||||
import net.minecraft.world.Item::Item;
|
||||
import net.minecraft.world.Item::ItemInstance;
|
||||
import net.minecraft.world.level.Tile::StoneSlabTile;
|
||||
import net.minecraft.world.level.Tile::Tile;*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Container.h"
|
||||
#include "AbstractContainerMenu.h"
|
||||
@@ -32,6 +16,7 @@ OreRecipies *Recipes::pOreRecipies=NULL;
|
||||
StructureRecipies *Recipes::pStructureRecipies=NULL;
|
||||
ToolRecipies *Recipes::pToolRecipies=NULL;
|
||||
WeaponRecipies *Recipes::pWeaponRecipies=NULL;
|
||||
FireworksRecipe *Recipes::pFireworksRecipes=NULL;
|
||||
|
||||
void Recipes::staticCtor()
|
||||
{
|
||||
@@ -60,6 +45,11 @@ Recipes::Recipes()
|
||||
|
||||
// 4J Stu - These just don't work with our crafting menu
|
||||
//recipies->push_back(new ArmorDyeRecipe());
|
||||
//recipies->add(new MapCloningRecipe());
|
||||
//recipies->add(new MapExtendingRecipe());
|
||||
//recipies->add(new FireworksRecipe());
|
||||
pFireworksRecipes = new FireworksRecipe();
|
||||
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::wood, 4, 0), //
|
||||
L"sczg",
|
||||
@@ -109,7 +99,7 @@ Recipes::Recipes()
|
||||
L"ssctctg",
|
||||
L"###", //
|
||||
L"XXX", //
|
||||
L'#', Tile::cloth, L'X', Tile::wood,
|
||||
L'#', Tile::wool, L'X', Tile::wood,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::enchantTable, 1), //
|
||||
@@ -177,7 +167,7 @@ Recipes::Recipes()
|
||||
L"###", //
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrick,
|
||||
L'#', Tile::cobblestone,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::cobbleWall, 6, WallTile::TYPE_MOSSY), //
|
||||
@@ -185,7 +175,7 @@ Recipes::Recipes()
|
||||
L"###", //
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::mossStone,
|
||||
L'#', Tile::mossyCobblestone,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::door_wood, 1), //
|
||||
@@ -228,7 +218,7 @@ Recipes::Recipes()
|
||||
L"## ", //
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrick,
|
||||
L'#', Tile::cobblestone,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::stairs_bricks, 4), //
|
||||
@@ -246,7 +236,7 @@ Recipes::Recipes()
|
||||
L"## ", //
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrickSmooth,
|
||||
L'#', Tile::cobblestone,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::stairs_netherBricks, 4), //
|
||||
@@ -317,6 +307,13 @@ Recipes::Recipes()
|
||||
L'#', Item::snowBall,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::topSnow, 6), //
|
||||
L"sctg",
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::snow,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::clay, 1), //
|
||||
L"sscig",
|
||||
L"##", //
|
||||
@@ -333,7 +330,7 @@ Recipes::Recipes()
|
||||
L'#', Item::brick,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::cloth, 1), //
|
||||
addShapedRecipy(new ItemInstance(Tile::wool, 1), //
|
||||
L"sscig",
|
||||
L"##", //
|
||||
L"##", //
|
||||
@@ -347,7 +344,7 @@ Recipes::Recipes()
|
||||
L"#X#", //
|
||||
L"X#X", //
|
||||
|
||||
L'X', Item::sulphur,//
|
||||
L'X', Item::gunpowder,//
|
||||
L'#', Tile::sand,
|
||||
L'T');
|
||||
|
||||
@@ -362,13 +359,13 @@ Recipes::Recipes()
|
||||
L"sctg",
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::rock,
|
||||
L'#', Tile::stone,
|
||||
L'S');
|
||||
addShapedRecipy(new ItemInstance(Tile::stoneSlabHalf, 6, StoneSlabTile::COBBLESTONE_SLAB), //
|
||||
L"sctg",
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrick,
|
||||
L'#', Tile::cobblestone,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::stoneSlabHalf, 6, StoneSlabTile::BRICK_SLAB), //
|
||||
@@ -382,7 +379,7 @@ Recipes::Recipes()
|
||||
L"sctg",
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrickSmooth,
|
||||
L'#', Tile::stoneBrick,
|
||||
L'S');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::stoneSlabHalf, 6, StoneSlabTile::NETHERBRICK_SLAB), //
|
||||
@@ -441,7 +438,7 @@ Recipes::Recipes()
|
||||
L"BEB", //
|
||||
L"CCC", //
|
||||
|
||||
L'A', Item::milk,//
|
||||
L'A', Item::bucket_milk,//
|
||||
L'B', Item::sugar,//
|
||||
L'C', Item::wheat, L'E', Item::egg,
|
||||
L'F');
|
||||
@@ -474,6 +471,17 @@ Recipes::Recipes()
|
||||
L'#', Item::stick,
|
||||
L'V');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::activatorRail, 6), //
|
||||
L"ssscictcig",
|
||||
L"XSX", //
|
||||
L"X#X", //
|
||||
L"XSX", //
|
||||
|
||||
L'X', Item::ironIngot,//
|
||||
L'#', Tile::redstoneTorch_on,//
|
||||
L'S', Item::stick,
|
||||
L'V');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::detectorRail, 6), //
|
||||
L"ssscicictg",
|
||||
L"X X", //
|
||||
@@ -509,6 +517,22 @@ Recipes::Recipes()
|
||||
L'A', Tile::furnace, L'B', Item::minecart,
|
||||
L'V');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::minecart_tnt, 1), //
|
||||
L"ssctcig",
|
||||
L"A", //
|
||||
L"B", //
|
||||
|
||||
L'A', Tile::tnt, L'B', Item::minecart,
|
||||
L'V');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::minecart_hopper, 1), //
|
||||
L"ssctcig",
|
||||
L"A", //
|
||||
L"B", //
|
||||
|
||||
L'A', Tile::hopper, L'B', Item::minecart,
|
||||
L'V');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::boat, 1), //
|
||||
L"ssctg",
|
||||
L"# #", //
|
||||
@@ -616,14 +640,14 @@ Recipes::Recipes()
|
||||
L'T');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::torch, 4), //
|
||||
L"sscicig",
|
||||
L"ssczcig",
|
||||
L"X", //
|
||||
L"#", //
|
||||
L'X', Item::coal,//
|
||||
L'X', new ItemInstance(Item::coal, 1, CoalItem::STONE_COAL),//
|
||||
L'#', Item::stick,
|
||||
L'T');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::lightGem, 1), //
|
||||
addShapedRecipy(new ItemInstance(Tile::glowstone, 1), //
|
||||
L"sscig",
|
||||
L"##", //
|
||||
L"##", //
|
||||
@@ -644,7 +668,7 @@ Recipes::Recipes()
|
||||
L"X", //
|
||||
L"#", //
|
||||
|
||||
L'#', Tile::stoneBrick, L'X', Item::stick,
|
||||
L'#', Tile::cobblestone, L'X', Item::stick,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::tripWireSource, 2), //
|
||||
@@ -656,7 +680,7 @@ Recipes::Recipes()
|
||||
L'#', Tile::wood, L'S', Item::stick, L'I', Item::ironIngot,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::notGate_on, 1), //
|
||||
addShapedRecipy(new ItemInstance(Tile::redstoneTorch_on, 1), //
|
||||
L"sscicig",
|
||||
L"X", //
|
||||
L"#", //
|
||||
@@ -664,14 +688,40 @@ Recipes::Recipes()
|
||||
L'#', Item::stick, L'X', Item::redStone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::diode, 1), //
|
||||
addShapedRecipy(new ItemInstance(Item::repeater, 1), //
|
||||
L"ssctcictg",
|
||||
L"#X#", //
|
||||
L"III", //
|
||||
|
||||
L'#', Tile::notGate_on, L'X', Item::redStone, L'I', Tile::rock,
|
||||
L'#', Tile::redstoneTorch_on, L'X', Item::redStone, L'I', Tile::stone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::comparator, 1), //
|
||||
L"sssctcictg",
|
||||
L" # ", //
|
||||
L"#X#", //
|
||||
L"III", //
|
||||
|
||||
L'#', Tile::redstoneTorch_on, L'X', Item::netherQuartz, L'I', Tile::stone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::daylightDetector),
|
||||
L"sssctcictg",
|
||||
L"GGG",
|
||||
L"QQQ",
|
||||
L"WWW",
|
||||
|
||||
L'G', Tile::glass, L'Q', Item::netherQuartz, L'W', Tile::woodSlabHalf,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::hopper),
|
||||
L"ssscictg",
|
||||
L"I I", //
|
||||
L"ICI", //
|
||||
L" I ", //
|
||||
|
||||
L'I', Item::ironIngot, L'C', Tile::chest,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::clock, 1), //
|
||||
L"ssscicig",
|
||||
@@ -688,12 +738,21 @@ Recipes::Recipes()
|
||||
|
||||
addShapelessRecipy(new ItemInstance(Item::fireball, 3), //
|
||||
L"iiig",
|
||||
Item::sulphur, Item::blazePowder,Item::coal,
|
||||
Item::gunpowder, Item::blazePowder,Item::coal,
|
||||
L'T');
|
||||
|
||||
addShapelessRecipy(new ItemInstance(Item::fireball, 3), //
|
||||
L"iizg",
|
||||
Item::sulphur, Item::blazePowder,new ItemInstance(Item::coal, 1, CoalItem::CHAR_COAL),
|
||||
Item::gunpowder, Item::blazePowder,new ItemInstance(Item::coal, 1, CoalItem::CHAR_COAL),
|
||||
L'T');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::lead, 2), //
|
||||
L"ssscicig",
|
||||
L"~~ ", //
|
||||
L"~O ", //
|
||||
L" ~", //
|
||||
|
||||
L'~', Item::string, L'O', Item::slimeBall,
|
||||
L'T');
|
||||
|
||||
|
||||
@@ -706,7 +765,6 @@ Recipes::Recipes()
|
||||
L'#', Item::ironIngot, L'X', Item::redStone,
|
||||
L'T');
|
||||
|
||||
// 4J-PB Added a MapItem init
|
||||
addShapedRecipy(new ItemInstance(Item::map, 1), //
|
||||
L"ssscicig",
|
||||
L"###", //
|
||||
@@ -719,14 +777,14 @@ Recipes::Recipes()
|
||||
addShapedRecipy(new ItemInstance(Tile::button, 1), //
|
||||
L"sctg",
|
||||
L"#", //
|
||||
//L"#", //
|
||||
L'#', Tile::rock,
|
||||
|
||||
L'#', Tile::stone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::button_wood, 1), //
|
||||
L"sctg",
|
||||
L"#", //
|
||||
//L"#", //
|
||||
|
||||
L'#', Tile::wood,
|
||||
L'M');
|
||||
|
||||
@@ -739,16 +797,38 @@ Recipes::Recipes()
|
||||
addShapedRecipy(new ItemInstance(Tile::pressurePlate_stone, 1), //
|
||||
L"sctg",
|
||||
L"##", //
|
||||
L'#', Tile::rock,
|
||||
L'#', Tile::stone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::weightedPlate_heavy, 1), //
|
||||
L"scig",
|
||||
L"##", //
|
||||
|
||||
L'#', Item::ironIngot,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::weightedPlate_light, 1), //
|
||||
L"scig",
|
||||
L"##", //
|
||||
|
||||
L'#', Item::goldIngot,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::dispenser, 1), //
|
||||
L"sssctcicig",
|
||||
L"###", //
|
||||
L"#X#", //
|
||||
L"#R#", //
|
||||
L'#', Tile::stoneBrick, L'X', Item::bow, L'R', Item::redStone,
|
||||
L'#', Tile::cobblestone, L'X', Item::bow, L'R', Item::redStone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::dropper, 1), //
|
||||
L"sssctcig",
|
||||
L"###", //
|
||||
L"# #", //
|
||||
L"#R#", //
|
||||
|
||||
L'#', Tile::cobblestone, L'R', Item::redStone,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::cauldron, 1), //
|
||||
@@ -765,7 +845,7 @@ Recipes::Recipes()
|
||||
L" B ", //
|
||||
L"###", //
|
||||
|
||||
L'#', Tile::stoneBrick, L'B', Item::blazeRod,
|
||||
L'#', Tile::cobblestone, L'B', Item::blazeRod,
|
||||
L'S');
|
||||
|
||||
|
||||
@@ -778,7 +858,7 @@ Recipes::Recipes()
|
||||
L'T');
|
||||
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::recordPlayer, 1), //
|
||||
addShapedRecipy(new ItemInstance(Tile::jukebox, 1), //
|
||||
L"sssctcig",
|
||||
L"###", //
|
||||
L"#X#", //
|
||||
@@ -787,8 +867,6 @@ Recipes::Recipes()
|
||||
L'#', Tile::wood, L'X', Item::diamond,
|
||||
'D');
|
||||
|
||||
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::paper, 3), //
|
||||
L"scig",
|
||||
L"###", //
|
||||
@@ -807,7 +885,7 @@ Recipes::Recipes()
|
||||
//addShapelessRecipy(new ItemInstance(Item.writingBook, 1), //
|
||||
// Item.book, new ItemInstance(Item.dye_powder, 1, DyePowderItem.BLACK), Item.feather);
|
||||
|
||||
addShapedRecipy(new ItemInstance(Tile::musicBlock, 1), //
|
||||
addShapedRecipy(new ItemInstance(Tile::noteblock, 1), //
|
||||
L"sssctcig",
|
||||
L"###", //
|
||||
L"#X#", //
|
||||
@@ -831,7 +909,7 @@ Recipes::Recipes()
|
||||
L"#X#", //
|
||||
L"###", //
|
||||
|
||||
L'#', Item::stick, L'X', Tile::cloth,
|
||||
L'#', Item::stick, L'X', Tile::wool,
|
||||
L'D');
|
||||
|
||||
|
||||
@@ -878,7 +956,7 @@ Recipes::Recipes()
|
||||
L"#X#", //
|
||||
L"#R#", //
|
||||
|
||||
L'#', Tile::stoneBrick, L'X', Item::ironIngot, L'R', Item::redStone, L'T', Tile::wood,
|
||||
L'#', Tile::cobblestone, L'X', Item::ironIngot, L'R', Item::redStone, L'T', Tile::wood,
|
||||
L'M');
|
||||
|
||||
addShapedRecipy(new ItemInstance((Tile *)Tile::pistonStickyBase, 1), //
|
||||
@@ -890,6 +968,30 @@ Recipes::Recipes()
|
||||
L'M');
|
||||
|
||||
|
||||
// 4J Stu - Added some dummy firework recipes to allow us to navigate forward to the fireworks scene
|
||||
addShapedRecipy(new ItemInstance(Item::fireworks, 1), //
|
||||
L"sscicig",
|
||||
L" P ", //
|
||||
L" G ", //
|
||||
|
||||
L'P', Item::paper, L'G', Item::gunpowder,
|
||||
L'D');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::fireworksCharge,1), //
|
||||
L"sscicig",
|
||||
L" D ", //
|
||||
L" G ", //
|
||||
|
||||
L'D', Item::dye_powder, L'G', Item::gunpowder,
|
||||
L'D');
|
||||
|
||||
addShapedRecipy(new ItemInstance(Item::fireworksCharge,1), //
|
||||
L"sscicig",
|
||||
L" D ", //
|
||||
L" C ", //
|
||||
|
||||
L'D', Item::dye_powder, L'C', Item::fireworksCharge,
|
||||
L'D');
|
||||
|
||||
|
||||
// Sort so the largest recipes get checked first!
|
||||
@@ -1005,7 +1107,7 @@ ShapedRecipy *Recipes::addShapedRecipy(ItemInstance *result, ...)
|
||||
break;
|
||||
case L'i':
|
||||
pItem=va_arg(vl,Item *);
|
||||
pItemInstance= new ItemInstance(pItem);
|
||||
pItemInstance= new ItemInstance(pItem,1,ANY_AUX_VALUE);
|
||||
mappings->insert(myMap::value_type(wchFrom,pItemInstance));
|
||||
break;
|
||||
case L't':
|
||||
@@ -1146,7 +1248,7 @@ void Recipes::addShapelessRecipy(ItemInstance *result,... )
|
||||
recipies->push_back(new ShapelessRecipy(result, ingredients, group));
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> Recipes::getItemFor(shared_ptr<CraftingContainer> craftSlots, Level *level)
|
||||
shared_ptr<ItemInstance> Recipes::getItemFor(shared_ptr<CraftingContainer> craftSlots, Level *level, Recipy *recipesClass /*= NULL*/)
|
||||
{
|
||||
int count = 0;
|
||||
shared_ptr<ItemInstance> first = nullptr;
|
||||
@@ -1173,11 +1275,18 @@ shared_ptr<ItemInstance> Recipes::getItemFor(shared_ptr<CraftingContainer> craft
|
||||
return shared_ptr<ItemInstance>( new ItemInstance(first->id, 1, resultDamage) );
|
||||
}
|
||||
|
||||
AUTO_VAR(itEnd, recipies->end());
|
||||
for (AUTO_VAR(it, recipies->begin()); it != itEnd; it++)
|
||||
if(recipesClass != NULL)
|
||||
{
|
||||
Recipy *r = *it; //recipies->at(i);
|
||||
if (r->matches(craftSlots, level)) return r->assemble(craftSlots);
|
||||
if (recipesClass->matches(craftSlots, level)) return recipesClass->assemble(craftSlots);
|
||||
}
|
||||
else
|
||||
{
|
||||
AUTO_VAR(itEnd, recipies->end());
|
||||
for (AUTO_VAR(it, recipies->begin()); it != itEnd; it++)
|
||||
{
|
||||
Recipy *r = *it; //recipies->at(i);
|
||||
if (r->matches(craftSlots, level)) return r->assemble(craftSlots);
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user