package de.ellpeck.actuallyadditions.common; import de.ellpeck.actuallyadditions.client.ClientSetup; import de.ellpeck.actuallyadditions.common.blocks.ActuallyBlocks; import de.ellpeck.actuallyadditions.common.commands.DebugCommand; import de.ellpeck.actuallyadditions.common.config.Config; import de.ellpeck.actuallyadditions.common.container.ActuallyContainers; import de.ellpeck.actuallyadditions.common.items.ActuallyItems; import de.ellpeck.actuallyadditions.common.tiles.ActuallyTiles; import de.ellpeck.actuallyadditions.special.SpecialRenderInit; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.command.Commands; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @Mod(ActuallyAdditions.MOD_ID) public class ActuallyAdditions { public static final Logger LOGGER = LogManager.getLogger(); public static final String MOD_ID = "actuallyadditions"; public static final ItemGroup ACTUALLY_GROUP = new ItemGroup(MOD_ID) { @Override public ItemStack createIcon() { return new ItemStack(ActuallyItems.BOOKLET.get()); } }; public ActuallyAdditions() { ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Config.SERVER_CONFIG); ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, Config.CLIENT_CONFIG); ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.COMMON_CONFIG); IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus(); ActuallyBlocks.BLOCKS.register(eventBus); ActuallyItems.ITEMS.register(eventBus); ActuallyContainers.CONTAINERS.register(eventBus); ActuallyTiles.TILES.register(eventBus); eventBus.addListener(this::setup); eventBus.addListener(this::clientSetup); MinecraftForge.EVENT_BUS.addListener(this::serverLoad); MinecraftForge.EVENT_BUS.addListener(SpecialRenderInit::onPlayerRender); MinecraftForge.EVENT_BUS.register(this); } private void setup(FMLCommonSetupEvent event) { } private void clientSetup(FMLClientSetupEvent event) { ClientSetup.setup(); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_VOID.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_ENORI.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_RESTONIA.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_PALIS.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_DIAMATINE.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.CRYSTAL_CLUSTER_EMERADIC.get(), RenderType.getTranslucent()); RenderTypeLookup.setRenderLayer(ActuallyBlocks.GREENHOUSE_GLASS.get(), RenderType.getCutout()); SpecialRenderInit.fetch(); } private void serverLoad(FMLServerStartingEvent event) { event.getServer().getCommandManager().getDispatcher().register( Commands.literal(MOD_ID) .then(DebugCommand.register()) ); } }