Advertisement
Guest User

Main Class

a guest
Aug 1st, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.24 KB | None | 0 0
  1. package com.author.example;
  2.  
  3. import com.author.example.lists.BlockList;
  4. import com.author.example.lists.FluidList;
  5. import com.author.example.lists.ItemList;
  6. import com.author.example.lists.PotionList;
  7. import net.minecraft.client.renderer.RenderType;
  8. import net.minecraft.client.renderer.RenderTypeLookup;
  9. import net.minecraft.item.BlockItem;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemGroup;
  12. import net.minecraft.item.ItemStack;
  13. import net.minecraftforge.event.RegistryEvent;
  14. import net.minecraftforge.eventbus.api.IEventBus;
  15. import net.minecraftforge.eventbus.api.SubscribeEvent;
  16. import net.minecraftforge.fml.RegistryObject;
  17. import net.minecraftforge.fml.common.Mod;
  18. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  19. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  20. import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
  21. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  22. import net.minecraftforge.registries.IForgeRegistry;
  23. import org.apache.logging.log4j.LogManager;
  24. import org.apache.logging.log4j.Logger;
  25.  
  26. @Mod(Main.MOD_ID)
  27. @Mod.EventBusSubscriber(modid = Main.MOD_ID)
  28. public class Main {
  29.  
  30. public static Main instance;
  31. public static final String MOD_ID = "example";
  32. public static final ItemGroup EXAMPLE_TAB = new Main.ExampleItemGroup("example_group");
  33. public static final Logger LOGGER = LogManager.getLogger();
  34.  
  35. public Main() {
  36. instance = this;
  37.  
  38. final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
  39.  
  40. modEventBus.addListener(this::setup);
  41. modEventBus.addListener(this::clientSetup);
  42.  
  43. ItemList.ITEMS.register(modEventBus);
  44. FluidList.FLUIDS.register(modEventBus);
  45. BlockList.BLOCKS.register(modEventBus);
  46. BlockList.BLOCKS_NO_ITEM.register(modEventBus);
  47. PotionList.EFFECTS.register(modEventBus);
  48. PotionList.POTIONS.register(modEventBus);
  49. }
  50.  
  51. @SubscribeEvent
  52. public static void createBlockItems(final RegistryEvent.Register<Item> event) {
  53.  
  54. final IForgeRegistry<Item> registry = event.getRegistry();
  55.  
  56. BlockList.BLOCKS.getEntries().stream().map(RegistryObject::get).forEach(block -> {
  57.  
  58. final Item.Properties properties = new Item.Properties().group(EXAMPLE_TAB);
  59. final BlockItem blockItem = new BlockItem(block, properties);
  60. blockItem.setRegistryName(block.getRegistryName());
  61. registry.register(blockItem);
  62. });
  63. }
  64.  
  65. private void setup(final FMLCommonSetupEvent event) {
  66. PotionList.addBrewingRecipes();
  67. }
  68.  
  69. private void clientSetup(final FMLClientSetupEvent event) {
  70. RenderTypeLookup.setRenderLayer(BlockList.MOD_CROP.get(), RenderType.getCutout());
  71. RenderTypeLookup.setRenderLayer(BlockList.MOD_BERRY_BUSH.get(), RenderType.getCutout());
  72. }
  73.  
  74. public void onServerStarting(FMLServerStartingEvent event) {
  75.  
  76. }
  77.  
  78. public static class ExampleItemGroup extends ItemGroup {
  79.  
  80. public ExampleItemGroup(String name) {
  81. super(name);
  82. }
  83.  
  84. @Override
  85. public ItemStack createIcon() {
  86. return new ItemStack(ItemList.MOD_CROP.get());
  87. }
  88. }
  89. }
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement