use of cc.lasmgratel.foodcraftreloaded.minecraft.common.util.loader.annotation.Load in project FoodCraft-Reloaded by LasmGratel.
the class RecipeLoader method loadDrinkRecipes.
@Load(LoaderState.AVAILABLE)
public void loadDrinkRecipes() {
FruitEnumLoader fruitLoader = FoodCraftReloadedMod.getProxy().getLoaderManager().getLoader(FruitEnumLoader.class).get();
VegetableEnumLoader vegetableLoader = FoodCraftReloadedMod.getProxy().getLoaderManager().getLoader(VegetableEnumLoader.class).get();
for (FruitType fruitType : FruitType.values()) {
RecipeManager.getInstance().addRecipe(new DrinkRecipe(fruitLoader.getInstanceMap(ItemFruit.class).get(fruitType), new FluidStack(fruitLoader.getInstance(FluidFruitJuice.class, fruitType), 1000)));
GameRegistry.addShapedRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName(fruitType.toString(), "sapling")), new ResourceLocation(FoodCraftReloadedMod.MODID, "sapling"), new ItemStack(fruitLoader.getInstanceMap(BlockFruitSapling.class).get(fruitType)).setStackDisplayName(Translator.format("item.foodcraftreloaded.sapling", Translator.format(NameBuilder.buildUnlocalizedName("item.fruit", fruitType.toString())))), "XXX", "XSX", "XXX", 'X', fruitLoader.getInstanceMap(ItemFruit.class).get(fruitType), 'S', "treeSapling");
GameRegistry.addShapelessRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName(fruitType.toString(), "icecream")), new ResourceLocation(FoodCraftReloadedMod.MODID, "icecream"), new ItemStack(fruitLoader.getInstanceMap(ItemFruitIcecream.class).get(fruitType)), OreIngredient.fromItem(FCRItems.ORIGINAL_ICE_CREAM), OreIngredient.fromItem(fruitLoader.getInstanceMap(ItemFruitJuice.class).get(fruitType)));
GameRegistry.addShapelessRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName("cake", "fruit", fruitType.toString())), new ResourceLocation(FoodCraftReloadedMod.MODID, "cake"), new ItemStack(fruitLoader.getInstanceMap(ItemFruitCake.class).get(fruitType)), OreIngredient.fromItem(fruitLoader.getInstanceMap(ItemFruitJuice.class).get(fruitType)), OreIngredient.fromItem(Items.CAKE));
}
for (KitchenKnifeType kitchenKnifeType : KitchenKnifeType.values()) {
GameRegistry.addShapedRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName("kitchen", "knife", kitchenKnifeType.toString())), new ResourceLocation(FoodCraftReloadedMod.MODID, "kitchen_knife"), new ItemStack(FoodCraftReloadedMod.getProxy().getLoaderManager().getLoader(KitchenKnifeLoader.class).get().getInstanceMap(ItemKitchenKnife.class).get(kitchenKnifeType)), "XX ", "XX ", " S", 'X', OreIngredient.fromStacks(kitchenKnifeType.getRepairItemStack()), 'S', "stickWood");
}
for (VegetableType vegetableType : VegetableType.values()) {
RecipeManager.getInstance().addRecipe(new DrinkRecipe(vegetableLoader.getInstanceMap(ItemVegetable.class).get(vegetableType), new FluidStack(vegetableLoader.getInstance(FluidVegetableJuice.class, vegetableType), 1000)));
GameRegistry.addShapelessRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName(vegetableType.toString(), "icecream")), new ResourceLocation(FoodCraftReloadedMod.MODID, "icecream"), new ItemStack(vegetableLoader.getInstanceMap(ItemVegetableIcecream.class).get(vegetableType)), OreIngredient.fromItem(FCRItems.ORIGINAL_ICE_CREAM), OreIngredient.fromItem(vegetableLoader.getInstanceMap(ItemVegetableJuice.class).get(vegetableType)));
GameRegistry.addShapelessRecipe(new ResourceLocation(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName("cake", "vegetable", vegetableType.toString())), new ResourceLocation(FoodCraftReloadedMod.MODID, "cake"), new ItemStack(vegetableLoader.getInstanceMap(ItemVegetableCake.class).get(vegetableType)), OreIngredient.fromItem(vegetableLoader.getInstanceMap(ItemVegetableJuice.class).get(vegetableType)), OreIngredient.fromItem(Items.CAKE));
}
// ForgeRegistries.RECIPES.register(new CakeRecipe().setRegistryName(FoodCraftReloadedMod.MODID, "cake_recipe"));
}
use of cc.lasmgratel.foodcraftreloaded.minecraft.common.util.loader.annotation.Load in project FoodCraft-Reloaded by LasmGratel.
the class BlockLoader method registerBlocks.
@Load(value = LoaderState.CONSTRUCTING)
public void registerBlocks() {
for (Field field : FCRBlocks.class.getFields()) {
field.setAccessible(true);
RegBlock anno = field.getAnnotation(RegBlock.class);
if (anno == null)
continue;
try {
Block block = (Block) field.get(null);
RegisterManager.getInstance().putRegister(block.setRegistryName(NameBuilder.buildRegistryName(anno.value())).setUnlocalizedName(NameBuilder.buildUnlocalizedName(anno.value())));
// Register item block.
Class<? extends ItemBlock> itemClass = anno.itemClass();
Constructor<? extends ItemBlock> con = itemClass.getConstructor(Block.class);
con.setAccessible(true);
RegisterManager.getInstance().putRegister(con.newInstance(block).setRegistryName(block.getRegistryName()).setUnlocalizedName(block.getUnlocalizedName()));
Arrays.asList(anno.oreDict()).forEach(s -> OreDictionary.registerOre(s, block));
} catch (Exception e) {
FoodCraftReloaded.getLogger().warn("Un-able to register block " + field.toGenericString(), e);
}
}
}
use of cc.lasmgratel.foodcraftreloaded.minecraft.common.util.loader.annotation.Load in project FoodCraft-Reloaded by LasmGratel.
the class FruitEnumLoader method loadFruits.
@Load
public void loadFruits() {
register();
getInstanceMap(BlockFruitSapling.class).values().forEach(sapling -> ForgeRegistries.ITEMS.register(new ItemBlock(sapling).setUnlocalizedName(NameBuilder.buildUnlocalizedName(sapling.getType().toString(), "sapling")).setRegistryName(FoodCraftReloadedMod.MODID, NameBuilder.buildRegistryName(sapling.getType().toString(), "sapling")).setCreativeTab(FCRCreativeTabs.BASE)));
}
use of cc.lasmgratel.foodcraftreloaded.minecraft.common.util.loader.annotation.Load in project FoodCraft-Reloaded by LasmGratel.
the class ItemLoader method registerOre.
@Load(LoaderState.AVAILABLE)
public void registerOre() {
for (Field field : FCRItems.class.getFields()) {
field.setAccessible(true);
try {
RegItem annoItem = field.getAnnotation(RegItem.class);
if (annoItem == null)
continue;
Item item = (Item) field.get(null);
Arrays.asList(annoItem.oreDict()).parallelStream().forEach(s -> OreDictionary.registerOre(s, item));
} catch (Throwable e) {
FoodCraftReloaded.getLogger().warn("Un-able to register item " + field.toGenericString(), e);
}
}
}
use of cc.lasmgratel.foodcraftreloaded.minecraft.common.util.loader.annotation.Load in project FoodCraft-Reloaded by LasmGratel.
the class BlockLoader method registerRenders.
@Load(side = Side.CLIENT)
public void registerRenders() {
for (Field field : FCRBlocks.class.getFields()) {
field.setAccessible(true);
RegBlock anno = field.getAnnotation(RegBlock.class);
if (anno == null)
continue;
try {
Block block = (Block) field.get(null);
if (block instanceof CustomModelMasking) {
ModelLoader.setCustomStateMapper(block, b -> ((CustomModelMasking) b).getStateModelLocations());
if (((CustomModelMasking) block).getModelLocation() != null) {
registerRender(Item.getItemFromBlock(block), 0, ((CustomModelMasking) block).getModelLocation());
return;
}
}
registerRender(block, 0);
} catch (Exception e) {
FoodCraftReloaded.getLogger().warn("Un-able to register block " + field.toGenericString(), e);
}
}
}
Aggregations