Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Mod(Necromod.MODID)
- public class Necromod
- {
- // la constante avec l'identifiant du mod
- public static final String MODID = "necromod";
- // le logger du mod
- public static final Logger LOGGER = LogManager.getLogger(MODID);
- public static CommonProxy proxy;
- // constructeur de la classe principale, on enregistre ici nos events
- @SuppressWarnings("deprecation")
- public Necromod()
- {
- proxy = DistExecutor.runForDist(() -> ClientProxy::new, () -> CommonProxy::new);
- proxy.init();
- IEventBus eventbus = FMLJavaModLoadingContext.get().getModEventBus();
- // Zone de création et d'enregistrement des items //
- NecromodItems.register(eventbus);
- // Zone de création et d'enregistrement des blocks //
- NecromodBlocks.register(eventbus);
- // Zone de création et d'enregistrement des potions //
- NecromodPotion.register(eventbus);
- // Zone de créations et d'enregistrement des sons et musique //
- NecromodSoundEvents.register(eventbus);
- // Zone d'enregistrement des bannieres //
- NecromodBanners.register(eventbus);
- // Zone d'enregistrement des mob //
- NecromodEntityTypes.register(eventbus);
- // Zone de création et d'enregistrement des TileEntity //
- NecromodTileEntities.register(eventbus);
- // Zone d'enregistrement des inventaire //
- NecromodInventory.register(eventbus);
- // Zone d'enregistrement des métier pnj //
- NecromodJob.register(eventbus);
- // Zone d'enregistrement des biomes //
- NecromodBiomes.register(eventbus);
- NecromodStructures.DEFERRED_REGISTRY_STRUCTURE.register(eventbus);
- // Register the setup method for modloading
- eventbus.addListener(this::setup);
- // Register the enqueueIMC method for modloading
- eventbus.addListener(this::enqueueIMC);
- // Register the processIMC method for modloading
- eventbus.addListener(this::processIMC);
- // Register the doClientStuff method for modloading
- eventbus.addListener(this::doClientStuff);
- // Register ourselves for server and other game events we are interested in
- MinecraftForge.EVENT_BUS.register(LivingEventHandler.class);
- }
- private void setup(final FMLCommonSetupEvent event)
- {
- // some preinit code
- LOGGER.info("HELLO FROM PREINIT");
- LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
- event.enqueueWork(() ->
- {
- AxeItem.STRIPABLES = new ImmutableMap.Builder<Block, Block>().putAll(AxeItem.STRIPABLES)
- .put(NecromodBlocks.Crepuscule_Log.get(), NecromodBlocks.Stripped_Crepuscule_Log.get())
- .put(NecromodBlocks.Crepuscule__Wood.get(), NecromodBlocks.Stripped_Crepuscule__Wood.get()).build();
- // Zone de créations et d'enregistrement des professions / bloc de professions des PNJ //
- NecromodJob.RegisterPOI();
- NecromodJob.fillTradeData();
- // Zone d'enregistrement des biomes / génération dans le monde //
- NecromodBiomeGeneration.generateBiomes();
- // Zone d'enregistrement des structures
- NecromodStructures.setupStructures();
- NecromodStructures.registerStructurePieces();
- NecromodConfiguredStructures.registerConfiguredStructures();
- });
- }
- private void doClientStuff(final FMLClientSetupEvent event)
- {
- NecromodItems.addItemModelProperties();
- event.enqueueWork(() ->
- {
- // do something that can only be done on the client
- LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().options);
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Din_Fire.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Nayru_Fire.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Farore_Fire.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Block_Door.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Block_Oeil_Invisible.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Multicolor_Glass.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- RenderTypeLookup.setRenderLayer(NecromodBlocks.Crepuscule_Sapling.get(), (layer) -> layer == RenderType.cutout() || layer == RenderType.translucent());
- // Enregistrement des TESR Renderer //
- ClientRegistry.bindTileEntityRenderer(NecromodTileEntities.Sword_Piedestal_Tile.get(), TESRSwordPiedestalRenderer::new);
- ClientRegistry.bindTileEntityRenderer(NecromodTileEntities.Master_Sword_Piedestal_Tile.get(), TESRMasterSwordPiedestalRenderer::new);
- });
- // Enregistrement des GUI //
- ScreenManager.register(NecromodInventory.Custome_Player_Inventory.get(), CustomPlayerInventoryScreen::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Capitaine_Pirate.get(), CapitainePirateRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Princesse_Zelda.get(), PrincesseZeldaRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Roi_Blaze.get(), RoiBlazeRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Lighting_Arrow.get(), LightingArrowRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Fire_Arrow.get(), FireArrowRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Ice_Arrow.get(), IceArrowRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Archeonique_Arrow.get(), ArcheoniqueArrowRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(NecromodEntityTypes.Explosive_Arrow.get(), ExplosiveArrowRenderer::new);
- }
- private void enqueueIMC(final InterModEnqueueEvent event)
- {
- // some example code to dispatch IMC to another mod
- InterModComms.sendTo("examplemod", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";});
- }
- private void processIMC(final InterModProcessEvent event)
- {
- // some example code to receive and process InterModComms from other mods
- LOGGER.info("Got IMC {}", event.getIMCStream().
- map(m->m.getMessageSupplier().get()).
- collect(Collectors.toList()));
- }
- // You can use SubscribeEvent and let the Event Bus discover methods to call
- @SubscribeEvent
- public void onServerStarting(FMLServerStartingEvent event) {
- // do something when the server starts
- LOGGER.info("HELLO from server starting");
- }
- // You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD
- // Event bus for receiving Registry Events)
- @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
- public static class RegistryEvents
- {
- @SubscribeEvent
- public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
- // register a new block here
- LOGGER.info("HELLO from Register Block");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment