American2050 Posted November 22, 2017 Posted November 22, 2017 I have an event that monitors living events so I can do some stuff with pigs. Problem is that whenever I try to launch a world on 1.12.2 I get this error. (This worked on 1.11.2) [18:48:36] [main/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.entity.player.ItemTooltipEvent@618b0680: java.lang.NullPointerException: null at com.mramericanmike.cropdusting.events.EntityTickEvent.onEntityTick(EntityTickEvent.java:24) ~[EntityTickEvent.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_17_EntityTickEvent_onEntityTick_LivingEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) ~[EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.onItemTooltip(ForgeEventFactory.java:284) ~[ForgeEventFactory.class:?] at net.minecraft.item.ItemStack.getTooltip(ItemStack.java:993) ~[ItemStack.class:?] at net.minecraft.client.Minecraft.lambda$populateSearchTreeManager$1(Minecraft.java:625) ~[Minecraft.class:?] at net.minecraft.client.util.SearchTree.index(SearchTree.java:93) ~[SearchTree.class:?] at net.minecraft.client.util.SearchTree.add(SearchTree.java:78) ~[SearchTree.class:?] at java.lang.Iterable.forEach(Unknown Source) [?:1.8.0_151] at net.minecraft.client.Minecraft.populateSearchTreeManager(Minecraft.java:639) [Minecraft.class:?] at net.minecraftforge.fml.client.FMLClientHandler.reloadSearchTrees(FMLClientHandler.java:1119) [FMLClientHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.reloadSearchTrees(FMLCommonHandler.java:771) [FMLCommonHandler.class:?] at net.minecraftforge.common.ForgeModContainer.mappingChanged(ForgeModContainer.java:554) [ForgeModContainer.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151] at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [guava-21.0.jar:?] at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [guava-21.0.jar:?] at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [guava-21.0.jar:?] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [guava-21.0.jar:?] at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [guava-21.0.jar:?] at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [guava-21.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:217) [guava-21.0.jar:?] at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:253) [LoadController.class:?] at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:231) [LoadController.class:?] at net.minecraftforge.fml.common.Loader.fireRemapEvent(Loader.java:900) [Loader.class:?] at net.minecraftforge.registries.GameData.freezeData(GameData.java:235) [GameData.class:?] at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:728) [Loader.class:?] at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:581) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] [18:48:36] [main/ERROR] [FML]: Index: 1 Listeners: [18:48:36] [main/ERROR] [FML]: 0: NORMAL [18:48:36] [main/ERROR] [FML]: 1: ASM: com.mramericanmike.cropdusting.events.EntityTickEvent@4882c984 onEntityTick(Lnet/minecraftforge/event/entity/living/LivingEvent;)V [18:48:36] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods [18:48:36] [main/WARN]: Skipping bad option: lastServer: [18:48:36] [main/INFO]: Narrator library for x64 successfully loaded The line is: @SubscribeEvent public void onEntityTick(LivingEvent event) { EntityLivingBase theEntity = event.getEntityLiving(); World theWorld = theEntity.getEntityWorld(); Right there on World theWorld = theEntity.getEntityWorld(); is the error. Not sure why it would be null Quote
Draco18s Posted November 22, 2017 Posted November 22, 2017 1 minute ago, American2050 said: Exception caught during [...] ItemTooltipEvent What on earth is going on here. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
American2050 Posted November 23, 2017 Author Posted November 23, 2017 1 hour ago, diesieben07 said: ItemTooltipEvent extends PlayerEvent extends LivingEvent. @American2050 Don't just subscribe to random parent event classes. Subscribe to the events you want. LivingEvent includes a lot of things, most of which you do not expect, one example can be seen above. As to why you are receiving an error: Minecraft::populateSearchTreeManager calls ItemStack::getTooltip without a player (because there is no player yet). If you handle ItemTooltipEvent (directly or indirectly) you must handle a null player properly. Thanks. I changed it to LivingUpdateEvent Working perfectly now. Quote
Recommended Posts
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.