use of net.dries007.tfc.api.capability.food.FoodData in project firmalife by eerussianguy.
the class ItemsFL method registerItems.
@SubscribeEvent
public static void registerItems(RegistryEvent.Register<Item> event) {
IForgeRegistry<Item> r = event.getRegistry();
ImmutableList.Builder<Item> easyItems = ImmutableList.builder();
ImmutableList.Builder<ItemFruitDoor> fruitDoors = ImmutableList.builder();
ImmutableList.Builder<Item> unu = ImmutableList.builder();
for (FoodFL food : FoodFL.values()) {
FoodData data = food.getData();
ItemFoodFL foodItem = new ItemFoodFL(data);
easyItems.add(register(r, food.name().toLowerCase(), foodItem, CT_FOOD));
OreDictionary.registerOre(convert(food.name()), foodItem);
String[] nameOverrides = food.getNameOverrides();
if (nameOverrides != null) {
for (String name : nameOverrides) OreDictionary.registerOre(name, foodItem);
} else if (!food.isReplacingOres()) {
addCategories(foodItem, data);
}
foods.put(food, foodItem);
}
easyItems.add(register(r, "unfired_mallet_mold", new ItemPottery(), CT_POTTERY));
malletMold = register(r, "mallet_mold", new ItemMetalMalletMold("mallet"), CT_POTTERY);
ItemDriedPineapple dryPineapple = new ItemDriedPineapple();
easyItems.add(register(r, "dried_pineapple", dryPineapple, CT_FOOD));
OreDictionary.registerOre("dried_pineapple", dryPineapple);
ItemTrailMix trailMix = new ItemTrailMix();
easyItems.add(register(r, "trail_mix", trailMix, CT_FOOD));
OreDictionary.registerOre("categoryMeal", trailMix);
ItemPizza pizza = new ItemPizza();
easyItems.add(register(r, "finished_pizza", pizza, CT_FOOD));
OreDictionary.registerOre("categoryMeal", pizza);
// Dried Berries
for (Fruit fruit : Fruit.values()) {
if (fruit.canDry()) {
ItemFoodFL dried = new ItemFoodFL(fruit.getDriedData());
easyItems.add(register(r, "dried_" + fruit.name().toLowerCase(), dried, CT_FOOD));
OreDictionary.registerOre("dried_" + fruit.name().toLowerCase(), dried);
OreDictionary.registerOre("fruitDry", dried);
OreDictionary.registerOre("categoryFruit", dried);
driedFruits.put(fruit, dried);
}
}
for (String grain : new String[] { "barley", "corn", "oat", "rice", "rye", "wheat" }) {
ItemFoodFL flatbread_dough = new ItemFoodFL(FoodDataFL.DOUGH);
easyItems.add(register(r, grain + "_flatbread_dough", flatbread_dough, CT_FOOD));
OreDictionary.registerOre(grain + "_flatbread_dough", flatbread_dough);
OreDictionary.registerOre("doughFlat", flatbread_dough);
ItemFoodFL flatbread = new ItemFoodFL(FoodDataFL.FLATBREAD);
easyItems.add(register(r, grain + "_flatbread", flatbread, CT_FOOD));
OreDictionary.registerOre("flatbread", flatbread);
OreDictionary.registerOre("categoryBread", flatbread);
ItemHeatableFoodFL slice = new ItemHeatableFoodFL(FoodDataFL.SLICE);
easyItems.add(register(r, grain + "_slice", slice, CT_FOOD));
OreDictionary.registerOre("slice", slice);
OreDictionary.registerOre("categoryBread", slice);
}
easyItems.add(register(r, "chestnut_slice", new ItemHeatableFoodFL(FoodDataFL.SLICE), CT_FOOD));
ItemSandwichFL sandwich = new ItemSandwichFL(FoodDataFL.SANDWICH);
easyItems.add(register(r, "chestnut_sandwich", sandwich, CT_FOOD));
OreDictionary.registerOre("sandwich", sandwich);
OreDictionary.registerOre("categoryMeal", sandwich);
// Misc Items
easyItems.add(register(r, "rennet", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "roasted_cocoa_beans", new ItemRoastedCocoaBeans(), CT_MISC));
easyItems.add(register(r, "cocoa_butter", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "cocoa_powder", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "dark_chocolate_blend", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "milk_chocolate_blend", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "white_chocolate_blend", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
easyItems.add(register(r, "peel", new ItemMisc(Size.LARGE, Weight.VERY_HEAVY), CT_MISC));
easyItems.add(register(r, "frothy_coconut", new ItemMisc(Size.SMALL, Weight.LIGHT), CT_MISC));
ItemMisc fruit_leaf = new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT);
easyItems.add(register(r, "fruit_leaf", fruit_leaf, CT_MISC));
OreDictionary.registerOre("fruitLeaf", fruit_leaf);
easyItems.add(register(r, "watering_can", new ItemWateringCan(), CT_MISC));
easyItems.add(register(r, "vanilla", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "cinnamon_bark", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "cinnamon", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "ground_cinnamon", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "greenhouse_door", new ItemGreenhouseDoor(BlocksFL.GREENHOUSE_DOOR), CT_DECORATIONS));
easyItems.add(register(r, "quad_planter", new ItemBlock(BlocksFL.QUAD_PLANTER), CT_DECORATIONS));
easyItems.add(register(r, "large_planter", new ItemBlock(BlocksFL.LARGE_PLANTER), CT_DECORATIONS));
easyItems.add(register(r, "cinnamon_sapling", new ItemBlock(BlocksFL.CINNAMON_SAPLING), CT_DECORATIONS));
easyItems.add(register(r, "pineapple_leather", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "pineapple_fiber", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "pineapple_yarn", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "honeycomb", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_MISC));
easyItems.add(register(r, "honey_jar", new ItemBlockJar(BlocksFL.HONEY_JAR), CT_FOOD));
easyItems.add(register(r, "jar", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_FOOD));
easyItems.add(register(r, "treated_lumber", new ItemMisc(Size.SMALL, Weight.MEDIUM), CT_MISC));
easyItems.add(register(r, "beeswax", new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT), CT_FOOD));
for (int i = 0; i < 5; i++) {
ItemMisc item = register(r, "unused" + i, new ItemMisc(Size.VERY_SMALL, Weight.VERY_LIGHT));
easyItems.add(item);
unu.add(item);
}
ItemMisc cpole = new ItemMisc(Size.SMALL, Weight.MEDIUM);
easyItems.add(register(r, "cinnamon_pole", cpole, CT_MISC));
OreDictionary.registerOre("poleWooden", cpole);
for (FruitTreeFL fruitTree : FruitTreeFL.values()) easyItems.add(registerPole(r, fruitTree));
for (IFruitTree fruitTree : FruitTree.values()) easyItems.add(registerPole(r, fruitTree));
for (BlockFruitDoor door : BlocksFL.getAllFruitDoors()) fruitDoors.add(register(r, door.getRegistryName().getPath(), new ItemFruitDoor(door), CT_DECORATIONS));
for (Metal metal : TFCRegistries.METALS.getValuesCollection()) if (metal.isToolMetal()) {
ItemMetalMallet mallet = register(r, metal.toString() + "_mallet", new ItemMetalMallet(metal), CT_METAL);
OreDictionary.registerOre("tool", mallet);
easyItems.add(mallet);
ItemMetalMalletHead head = new ItemMetalMalletHead(metal);
easyItems.add(register(r, metal.toString() + "_mallet_head", head, CT_METAL));
OreDictionary.registerOre("tool", head);
malletHeads.put(metal, head);
}
// uses a separate model loader
register(r, "cracked_coconut", new ItemWoodenBucket(), CT_MISC);
register(r, "cheesecloth", new ItemCheesecloth(), CT_MISC);
BlocksFL.getAllIBs().forEach((x) -> registerIB(r, x));
BlocksFL.getAllInventoryIBs().forEach((x) -> easyItems.add(registerIB(r, new ItemBlock(x))));
for (StemCrop crop : StemCrop.values()) {
easyItems.add(register(r, "crop/seeds/" + crop.name().toLowerCase(), new ItemSeedsTFC(crop), CT_FOOD));
}
allEasyItems = easyItems.build();
allFruitDoors = fruitDoors.build();
unused = unu.build();
}
use of net.dries007.tfc.api.capability.food.FoodData in project firmalife by eerussianguy.
the class PizzaRecipe method getCraftingResult.
@Nonnull
@Override
public ItemStack getCraftingResult(@Nonnull InventoryCrafting inv) {
ItemStack output = super.getCraftingResult(inv);
IFood food = output.getCapability(CapabilityFood.CAPABILITY, null);
if (food instanceof ItemPizza.PizzaHandler) {
ItemPizza.PizzaHandler trailMix = (ItemPizza.PizzaHandler) food;
List<FoodData> ingredients = new ArrayList<>();
getIngredients(inv, ingredients);
if (ingredients.size() < 1)
return ItemStack.EMPTY;
trailMix.initCreationFoods(ingredients);
// Meals get decay reset as they have on average, high decay modifiers. Also it's too much of a pain to re-calculate a remaining decay fraction average
trailMix.setCreationDate(CalendarTFC.PLAYER_TIME.getTicks());
}
return output;
}
use of net.dries007.tfc.api.capability.food.FoodData in project firmalife by eerussianguy.
the class SandwichBasedRecipe method getIngredients.
protected void getIngredients(InventoryCrafting inv, List<FoodData> ingredients) {
for (int i = 0; i < inv.getSizeInventory(); i++) {
ItemStack ingredientStack = inv.getStackInSlot(i);
IFood ingredientCap = ingredientStack.getCapability(CapabilityFood.CAPABILITY, null);
if (ingredientCap != null) {
if (ingredientCap.isRotten()) {
// Found a rotten ingredient, aborting
ingredients.clear();
return;
}
ingredients.add(ingredientCap.getData());
}
}
}
use of net.dries007.tfc.api.capability.food.FoodData in project firmalife by eerussianguy.
the class TrailMixRecipe method getCraftingResult.
@Nonnull
@Override
public ItemStack getCraftingResult(@Nonnull InventoryCrafting inv) {
ItemStack output = super.getCraftingResult(inv);
IFood food = output.getCapability(CapabilityFood.CAPABILITY, null);
if (food instanceof ItemTrailMix.TrailMixHandler) {
ItemTrailMix.TrailMixHandler trailMix = (ItemTrailMix.TrailMixHandler) food;
List<FoodData> ingredients = new ArrayList<>();
getIngredients(inv, ingredients);
if (ingredients.size() < 1)
return ItemStack.EMPTY;
trailMix.initCreationFoods(ingredients);
// Meals get decay reset as they have on average, high decay modifiers. Also it's too much of a pain to re-calculate a remaining decay fraction average
trailMix.setCreationDate(CalendarTFC.PLAYER_TIME.getTicks());
}
return output;
}
Aggregations