package codechicken.enderstorage.init; import codechicken.enderstorage.block.BlockEnderChest; import codechicken.enderstorage.block.BlockEnderTank; import codechicken.enderstorage.container.ContainerEnderItemStorage; import codechicken.enderstorage.item.ItemEnderPouch; import codechicken.enderstorage.item.ItemEnderStorage; import codechicken.enderstorage.recipe.CreateRecipe; import codechicken.enderstorage.recipe.ReColourRecipe; import codechicken.enderstorage.tile.TileEnderChest; import codechicken.enderstorage.tile.TileEnderTank; import codechicken.lib.inventory.container.ICCLContainerType; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.Item; import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.tileentity.TileEntityType; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.IForgeRegistry; import net.minecraftforge.registries.ObjectHolder; import static codechicken.enderstorage.EnderStorage.MOD_ID; /** * Created by covers1624 on 29/10/19. */ @ObjectHolder (MOD_ID) @Mod.EventBusSubscriber (modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class ModContent { //region Blocks. @ObjectHolder ("ender_chest") public static BlockEnderChest blockEnderChest; @ObjectHolder ("ender_tank") public static BlockEnderTank blockEnderTank; //endregion //region ItemBlocks @ObjectHolder ("ender_chest") public static ItemEnderStorage itemEnderChest; @ObjectHolder ("ender_tank") public static ItemEnderStorage itemEnderTank; //endregion //region Items @ObjectHolder ("ender_pouch") public static ItemEnderPouch itemEnderPouch; //endregion //region TileTypes @ObjectHolder ("ender_chest") public static TileEntityType<TileEnderChest> tileEnderChestType; @ObjectHolder ("ender_tank") public static TileEntityType<TileEnderTank> tileEnderTankType; //endregion //region Container Types. @ObjectHolder ("item_storage") public static ContainerType<ContainerEnderItemStorage> containerItemStorage; //endregion //region RecipeSerializers @ObjectHolder ("create_recipe") public static IRecipeSerializer<CreateRecipe> createRecipeSerializer; @ObjectHolder ("recolour_recipe") public static IRecipeSerializer<ReColourRecipe> reColourRecipeSerializer; //endregion @SubscribeEvent public static void onRegisterBlocks(RegistryEvent.Register<Block> event) { IForgeRegistry<Block> registry = event.getRegistry(); Block.Properties properties = Block.Properties.create(Material.ROCK)// .hardnessAndResistance(20, 100); registry.register(new BlockEnderChest(properties).setRegistryName("ender_chest")); registry.register(new BlockEnderTank(properties).setRegistryName("ender_tank")); } @SubscribeEvent public static void onRegisterItems(RegistryEvent.Register<Item> event) { IForgeRegistry<Item> registry = event.getRegistry(); // ItemBlocks registry.register(new ItemEnderStorage(blockEnderChest).setRegistryName("ender_chest")); registry.register(new ItemEnderStorage(blockEnderTank).setRegistryName("ender_tank")); //Items registry.register(new ItemEnderPouch().setRegistryName(MOD_ID, "ender_pouch")); } @SubscribeEvent public static void onRegisterTiles(RegistryEvent.Register<TileEntityType<?>> event) { IForgeRegistry<TileEntityType<?>> registry = event.getRegistry(); registry.register(TileEntityType.Builder.create(TileEnderChest::new, blockEnderChest).build(null).setRegistryName("ender_chest")); registry.register(TileEntityType.Builder.create(TileEnderTank::new, blockEnderTank).build(null).setRegistryName("ender_tank")); } @SubscribeEvent public static void onRegisterContainers(RegistryEvent.Register<ContainerType<?>> event) { IForgeRegistry<ContainerType<?>> registry = event.getRegistry(); registry.register(ICCLContainerType.create(ContainerEnderItemStorage::new).setRegistryName("item_storage")); } @SubscribeEvent public static void onRegisterRecipeSerializers(RegistryEvent.Register<IRecipeSerializer<?>> event) { IForgeRegistry<IRecipeSerializer<?>> registry = event.getRegistry(); registry.register(new CreateRecipe.Serializer().setRegistryName("create_recipe")); registry.register(new ReColourRecipe.Serializer().setRegistryName("recolour_recipe")); } }