Posted February 14, 20169 yr In this context I mean the item the player has selected on their bar of 9 items at the bottom of their screen. Normally to change the player's item I do something super basic like: EntityPlayerSP p = Minecraft.getMinecraft().thePlayer; p.inventory.currentItem = newCurrentItem; Unfortunately recently this has only worked sometimes. When the player isn't moving at all, and I try to change the player's selected item, it doesn't work. Basically during an onTick event, I'd use the above code to change it to 5 (as an example) and then next tick, it would be back at the previous value. And this happens every single tick. Using a watchpoint on field modification I tracked down the culprit code reverting the value I set: FMLEvents.playerTick(TickEvent$PlayerTickEvent) line: 99 ASMEventHandler_14_FMLEvents_playerTick_PlayerTickEvent.invoke(Event) line: not available ASMEventHandler.invoke(Event) line: 55 EventBus.post(Event) line: 140 FMLCommonHandler.onPlayerPostTick(EntityPlayer) line: 355 EntityOtherPlayerMP(EntityPlayer).func_70071_h_() line:362 EntityOtherPlayerMP.func_70071_h_() line:52 ... The problem is none of the forge code I can find has a class called "FMLEvents" and I have no idea why a playerTick function would be modifying part of the player at all. Anyone know what's going on here?
February 15, 20169 yr Author Thanks a bunch, I traced it back to the Better PVP mod. The mod stores off the selected item pre-tick, and then restores it post-tick given some conditions. I can detect the mods presence and modify some of its public fields so this doesn't happen.
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.