Posted March 28, 20214 yr Hi. I try to create an entity, and there is no problem in development environment (meaning `gradlew runClient`). But when I create jar file running `gradlew build` and test in Minecraft, I found EntityAttributeCreationEvent was not called. The Following is a part of source code. @Mod(MainMod.MOD_ID) public class MainMod { public static MainMod instance; public static final String MOD_ID = "mainmod"; public static final Logger LOGGER = LogManager.getLogger(); public MainMod() { instance = this; FMLJavaModLoadingContext.get().getModEventBus().addListener(this::createEntityAttributes); MinecraftForge.EVENT_BUS.register(this); } private void createEntityAttributes(final EntityAttributeCreationEvent event) { LOGGER.info("created entity attributes"); AttributeModifierMap.MutableAttribute attribute = MobEntity.createMobAttributes() .add(Attributes.MAX_HEALTH, 10.0D) .add(Attributes.MOVEMENT_SPEED, 0.25D); event.put(ModEntities.TEST, attribute.build()); } } Is it a Forge bug? Or am I wrong? Edited March 28, 20214 yr by haru0517
March 30, 20214 yr Author Was self resolved. The cause was that there were two main class. I left the following ExampleMod in addition to MainMod. I removed it and it works fine. Note that I found that `gradlew runClient` runs both, while the production environment runs only one. @Mod(MainMod.MOD_ID) public class ExampleMod { // Directly reference a log4j logger. private static final Logger LOGGER = LogManager.getLogger(); public ExampleMod() { // Register the setup method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); // Register the enqueueIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC); // Register the processIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC); // Register the doClientStuff method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff); // Register ourselves for server and other game events we are interested in MinecraftForge.EVENT_BUS.register(this); } ... }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.