I am encountering an error on my modded item's onItemRightClick action, but only when the mod is built to a jar and run in normal minecraft.
This error doesn't happen when running from the project in IntelliJ. The item works as intended.
I am using the exact same forge version in both instances. (35.1.0)
What might be the cause for an error 'in the field' which isn't produced in the IDE?
Here is the class which causes the error:
public class HookshotItem extends Item implements IVanishable {
public HookshotItem(Item.Properties builder) {
super(builder);
}
public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
ItemStack itemstack = playerIn.getHeldItem(handIn);
if (!worldIn.isRemote) {
IHookshotIdentifier hookId = playerIn.getCapability(CapabilityHookshotIdentifier.HOOKSHOT_IDENTIFIER_CAPABILITY,null).orElse(null);
HookshotHookEntity hookEntity = hookId.getHook();
if(hookEntity == null){
hookEntity = new HookshotHookEntity(ModEntityTypes.HOOKSHOT_HOOK.get(), playerIn, worldIn);
worldIn.addEntity(hookEntity);
}else{
hookEntity.reelCable(0.3f);
}
}
return ActionResult.func_233538_a_(itemstack, worldIn.isRemote());
}
public int getItemEnchantability() {
return 0;
}
}
and here is the portion of the log containing the crash:
[22Apr2021 22:44:42.940] [Server thread/ERROR] [net.minecraft.server.MinecraftServer/]: Encountered an unexpected exception
java.lang.ExceptionInInitializerError: null
at com.trigonaut.mobilitymod.item.HookshotItem.func_77659_a(HookshotItem.java:32) ~[?:1.0]
at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:214) ~[?:?]
at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java:287) ~[?:?]
at net.minecraft.network.play.ServerPlayNetHandler.func_147346_a(ServerPlayNetHandler.java:982) ~[?:?]
at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:31) ~[?:?]
at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:9) ~[?:?]
at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?]
at net.minecraft.network.PacketThreadUtil$$Lambda$5774/1431595733.run(Unknown Source) ~[?:?]
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?]
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:695) ~[?:?]
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) [?:?]
at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) [?:?]
at net.minecraft.server.MinecraftServer$$Lambda$5064/1245825773.run(Unknown Source) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
Caused by: net.minecraftforge.fml.common.ObfuscationReflectionHelper$UnableToFindMethodException: java.lang.NoSuchMethodException: net.minecraft.entity.Entity.setFlag(int, boolean)
at net.minecraftforge.fml.common.ObfuscationReflectionHelper.findMethod(ObfuscationReflectionHelper.java:166) ~[?:?]
at com.trigonaut.mobilitymod.entity.HookshotHookEntity.<clinit>(HookshotHookEntity.java:41) ~[?:1.0]
... 22 more
Caused by: java.lang.NoSuchMethodException: net.minecraft.entity.Entity.setFlag(int, boolean)
at java.lang.Class.getDeclaredMethod(Class.java:2130) ~[?:1.8.0_51]
at net.minecraftforge.fml.common.ObfuscationReflectionHelper.findMethod(ObfuscationReflectionHelper.java:160) ~[?:?]
at com.trigonaut.mobilitymod.entity.HookshotHookEntity.<clinit>(HookshotHookEntity.java:41) ~[?:1.0]
... 22 more
[22Apr2021 22:44:42.945] [Server thread/FATAL] [net.minecraftforge.common.ForgeMod/]: Preparing crash report with UUID a6fd1be1-e806-4d7e-8d84-ca7c4250b981
It looks like something to do with reflection, but I haven't used any reflection anywhere in this mod.