Posted February 7, 201510 yr I have the following classes: package mhfc.net.common.eventhandler.quests; import cpw.mods.fml.common.eventhandler.Event; public abstract class QuestGoalEventHandler<EventType extends Event> { NotifyableQuestGoal<EventType> questGoal; boolean stillActive; protected Class<EventType> eventType; public QuestGoalEventHandler(NotifyableQuestGoal<EventType> g, Class<EventType> t) { this.questGoal = g; stillActive = false; this.eventType = t; } public abstract <E extends EventType> void onEventCaught(E event); public void setActive(boolean active) { stillActive = active; } } package mhfc.net.common.eventhandler.quests; import net.minecraftforge.event.entity.living.LivingDeathEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class LivingDeathEventHandler extends QuestGoalEventHandler<LivingDeathEvent> { public LivingDeathEventHandler(NotifyableQuestGoal<LivingDeathEvent> g) { super(g, LivingDeathEvent.class); } @Override @SubscribeEvent public void onEventCaught(LivingDeathEvent event) { if (stillActive) questGoal.notifyOfEvent(event); } } At some point I call this piece of code: MinecraftForge.EVENT_BUS.register(new LivingDeathEventHandler(this)); . Now the following is inconsistent. When I execute and test the Mod in eclipse nothing special happens and everything runs smooth, the problem occurs after I built the mod and try it "in the wild": java.lang.ClassCastException: net.minecraftforge.client.event.RenderLivingEvent$Specials$Pre cannot be cast to net.minecraftforge.event.entity.living.LivingDeathEvent at mhfc.net.common.eventhandler.quests.LivingDeathEventHandler.onEventCaught(LivingDeathEventHandler.java:6) Full crash report can be found here: http://pastebin.com/8mBh7h9K I can fully understand WHY this happens in the wild, if you can't refrain to this: http://stackoverflow.com/questions/28388034/ Why does forge think it has to call LivingDeathEventHandler.onEventCaught() for net.minecraftforge.client.event.RenderLivingEvent$Specials$Pre? When I analyze the produced classes I see the @SubscribeEvent annotation only on the method "onEventCaught(LivingDeathEvent)", so I don't see why the method should be registered for any other event at all.
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.