Guest User

Untitled

a guest
Jun 23rd, 2020
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. package app24.mermaid;
  2.  
  3. import org.apache.logging.log4j.LogManager;
  4. import org.apache.logging.log4j.Logger;
  5.  
  6. import app24.mermaid.fluids.MPWaterFluid;
  7. import app24.mermaid.init.BlockInit;
  8. import app24.mermaid.init.FluidInit;
  9. import app24.mermaid.init.ItemInit;
  10. import app24.mermaid.init.ModBlockColors;
  11. import net.minecraft.block.BlockState;
  12. import net.minecraft.block.FlowingFluidBlock;
  13. import net.minecraft.client.Minecraft;
  14. import net.minecraft.client.renderer.color.IBlockColor;
  15. import net.minecraft.item.BlockItem;
  16. import net.minecraft.item.Item;
  17. import net.minecraft.item.ItemGroup;
  18. import net.minecraft.item.ItemStack;
  19. import net.minecraft.util.math.BlockPos;
  20. import net.minecraft.world.ILightReader;
  21. import net.minecraft.world.biome.BiomeColors;
  22. import net.minecraftforge.client.event.ColorHandlerEvent;
  23. import net.minecraftforge.common.MinecraftForge;
  24. import net.minecraftforge.event.RegistryEvent;
  25. import net.minecraftforge.eventbus.api.IEventBus;
  26. import net.minecraftforge.eventbus.api.SubscribeEvent;
  27. import net.minecraftforge.fml.RegistryObject;
  28. import net.minecraftforge.fml.common.Mod;
  29. import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
  30. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  31. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  32. import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
  33. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  34. import net.minecraftforge.registries.IForgeRegistry;
  35.  
  36. @Mod(MermaidMod.MOD_ID)
  37. @Mod.EventBusSubscriber(modid = MermaidMod.MOD_ID, bus = Bus.MOD)
  38. public class MermaidMod {
  39. // Directly reference a log4j logger.
  40. public static final Logger LOGGER = LogManager.getLogger();
  41. public static final String MOD_ID = "mermaid";
  42.  
  43. public MermaidMod() {
  44. final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
  45. modEventBus.addListener(this::setup);
  46. modEventBus.addListener(this::doClientStuff);
  47.  
  48. ItemInit.ITEMS.register(modEventBus);
  49. FluidInit.FLUIDS.register(modEventBus);
  50. BlockInit.BLOCKS.register(modEventBus);
  51.  
  52. MinecraftForge.EVENT_BUS.register(this);
  53. }
  54.  
  55. @SubscribeEvent
  56. public static void onRegisterItems(final RegistryEvent.Register<Item> event) {
  57.  
  58. final IForgeRegistry<Item> registry = event.getRegistry();
  59.  
  60. BlockInit.BLOCKS.getEntries().stream().filter(block -> !(block.get() instanceof FlowingFluidBlock))
  61. .map(RegistryObject::get).forEach(block -> {
  62. final Item.Properties properties = new Item.Properties().group(MermaidModItemGroup.instance);
  63. final BlockItem blockItem = new BlockItem(block.getDefaultState().getBlock(), properties);
  64. blockItem.setRegistryName(block.getRegistryName());
  65. registry.register(blockItem);
  66. });
  67.  
  68. LOGGER.debug("Registered BlockItems!");
  69. }
  70.  
  71. private void setup(final FMLCommonSetupEvent event) {
  72.  
  73. }
  74.  
  75. @SubscribeEvent
  76. public static void registerBlockColours(ColorHandlerEvent.Block event) {
  77. event.getBlockColors().register((p_228060_0_, p_228060_1_, p_228060_2_, p_228060_3_) -> {
  78. LOGGER.debug("dsdsds");
  79. LOGGER.info("dsdsds");
  80. return p_228060_1_ != null && p_228060_2_ != null ? BiomeColors.getWaterColor(p_228060_1_, p_228060_2_)
  81. : -1;
  82. }, FluidInit.MP_WATER_BLOCK.get());
  83.  
  84. LOGGER.debug("Registered Colored Blocks!");
  85. }
  86.  
  87. private void doClientStuff(final FMLClientSetupEvent event) {
  88.  
  89. }
  90.  
  91. @SubscribeEvent
  92. public void onServerStarting(FMLServerStartingEvent event) {
  93.  
  94. }
  95.  
  96. public static class MermaidModItemGroup extends ItemGroup {
  97. public static final MermaidModItemGroup instance = new MermaidModItemGroup(ItemGroup.GROUPS.length,
  98. "mermaidtab");
  99.  
  100. private MermaidModItemGroup(int index, String label) {
  101. super(index, label);
  102. }
  103.  
  104. @Override
  105. public ItemStack createIcon() {
  106. return new ItemStack(BlockInit.TEST.get());
  107. }
  108. }
  109. }
Add Comment
Please, Sign In to add comment