package net.paladrill.paladrillmod; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.EntityEntry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraft.world.biome.Biome; import net.minecraft.potion.Potion; import net.minecraft.item.Item; import net.minecraft.block.Block; import java.util.function.Supplier; @Mod(modid = PaladrillmodMod.MODID, version = PaladrillmodMod.VERSION) public class PaladrillmodMod { public static final String MODID = "paladrillmod"; public static final String VERSION = "1.15"; public static final SimpleNetworkWrapper PACKET_HANDLER = NetworkRegistry.INSTANCE.newSimpleChannel("paladrillmod:a"); @SidedProxy(clientSide = "net.paladrill.paladrillmod.ClientProxyPaladrillmodMod", serverSide = "net.paladrill.paladrillmod.ServerProxyPaladrillmodMod") public static IProxyPaladrillmodMod proxy; @Mod.Instance(MODID) public static PaladrillmodMod instance; public ElementsPaladrillmodMod elements = new ElementsPaladrillmodMod(); @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(this); GameRegistry.registerWorldGenerator(elements, 5); GameRegistry.registerFuelHandler(elements); NetworkRegistry.INSTANCE.registerGuiHandler(this, new ElementsPaladrillmodMod.GuiHandler()); elements.preInit(event); MinecraftForge.EVENT_BUS.register(elements); elements.getElements().forEach(element -> element.preInit(event)); proxy.preInit(event); } @Mod.EventHandler public void init(FMLInitializationEvent event) { elements.getElements().forEach(element -> element.init(event)); proxy.init(event); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event) { proxy.postInit(event); } @Mod.EventHandler public void serverLoad(FMLServerStartingEvent event) { elements.getElements().forEach(element -> element.serverLoad(event)); proxy.serverLoad(event); } @SubscribeEvent public void registerBlocks(RegistryEvent.Register event) { event.getRegistry().registerAll(elements.getBlocks().stream().map(Supplier::get).toArray(Block[]::new)); } @SubscribeEvent public void registerItems(RegistryEvent.Register event) { event.getRegistry().registerAll(elements.getItems().stream().map(Supplier::get).toArray(Item[]::new)); } @SubscribeEvent public void registerBiomes(RegistryEvent.Register event) { event.getRegistry().registerAll(elements.getBiomes().stream().map(Supplier::get).toArray(Biome[]::new)); } @SubscribeEvent public void registerEntities(RegistryEvent.Register event) { event.getRegistry().registerAll(elements.getEntities().stream().map(Supplier::get).toArray(EntityEntry[]::new)); } @SubscribeEvent public void registerPotions(RegistryEvent.Register event) { event.getRegistry().registerAll(elements.getPotions().stream().map(Supplier::get).toArray(Potion[]::new)); } @SubscribeEvent public void registerSounds(RegistryEvent.Register event) { elements.registerSounds(event); } @SubscribeEvent @SideOnly(Side.CLIENT) public void registerModels(ModelRegistryEvent event) { elements.getElements().forEach(element -> element.registerModels(event)); } static { FluidRegistry.enableUniversalBucket(); } }