the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 113 lines 2.7 kB view raw
1/*package net.minecraft.world.item.crafting; 2 3import java.util.ArrayList; 4import java.util.Collections; 5import java.util.Comparator; 6import java.util.HashMap; 7import java.util.List; 8import java.util.Map; 9 10import net.minecraft.world.inventory.CraftingContainer; 11import net.minecraft.world.item.CoalItem; 12import net.minecraft.world.item.Item; 13import net.minecraft.world.item.ItemInstance; 14import net.minecraft.world.level.tile.StoneSlabTile; 15import net.minecraft.world.level.tile.Tile; 16*/ 17 18#include "Recipy.h" 19 20#pragma once 21using namespace std; 22 23class CraftingContainer; 24class FireTile; 25 26class ArmorRecipes; 27class ClothDyeRecipes; 28class FoodRecipies; 29class OreRecipies; 30class StructureRecipies; 31class ToolRecipies; 32class WeaponRecipies; 33class ShapedRecipy; 34class FireworksRecipe; 35 36typedef unordered_map<wchar_t, ItemInstance *> myMap; 37 38#define ADD_OBJECT(a,b) a.push_back(new Object(b)) 39 40class Object 41{ 42public: 43 union 44 { 45 Tile *tile; 46 FireTile *firetile; 47 Item *item; 48 MapItem *mapitem; 49 ItemInstance *iteminstance; 50 }; 51 52 Object() { eType=eTYPE_NOTSET;} 53 Object(Tile *t) { eType=eType_TILE;tile=t;} 54 Object(FireTile *t) { eType=eType_FIRETILE;firetile=t;} 55 Object(Item *i) { eType=eType_ITEM; item=i;} 56 Object(MapItem *i) { eType=eType_MAPITEM;mapitem=i;} 57 Object(ItemInstance *i) { eType=eType_ITEMINSTANCE;iteminstance=i;} 58 59 eINSTANCEOF instanceof() { return eType;} 60 eINSTANCEOF GetType() { return eType; }; 61 62private: 63 eINSTANCEOF eType; 64}; 65 66class Recipes 67{ 68public: 69 static const int ANY_AUX_VALUE = -1; 70 71private: 72 static Recipes *instance; 73 74 vector <Recipy *> *recipies; 75 76public: 77 static void staticCtor(); 78 79public: 80 static Recipes *getInstance() 81 { 82 return instance; 83 } 84 85private: 86 void _init(); // 4J add 87 Recipes(); 88 89public: 90 ShapedRecipy *addShapedRecipy(ItemInstance *, ... ); 91 void addShapelessRecipy(ItemInstance *result,... ); 92 93 shared_ptr<ItemInstance> getItemFor(shared_ptr<CraftingContainer> craftSlots, Level *level, Recipy *recipesClass = NULL); // 4J Added recipesClass param 94 vector <Recipy *> *getRecipies(); 95 96 // 4J-PB - Added all below for new Xbox 'crafting' 97 shared_ptr<ItemInstance> getItemForRecipe(Recipy *r); 98 Recipy::INGREDIENTS_REQUIRED *getRecipeIngredientsArray(); 99 100private: 101 void buildRecipeIngredientsArray(); 102 Recipy::INGREDIENTS_REQUIRED *m_pRecipeIngredientsRequired; 103 104public: 105 static ToolRecipies *pToolRecipies; 106 static WeaponRecipies *pWeaponRecipies; 107 static StructureRecipies *pStructureRecipies; 108 static OreRecipies *pOreRecipies; 109 static FoodRecipies *pFoodRecipies; 110 static ClothDyeRecipes *pClothDyeRecipes; 111 static ArmorRecipes *pArmorRecipes; 112 static FireworksRecipe *pFireworksRecipes; 113};