Posted October 9, 201411 yr Hello again. It seems like I have a bit of a theme with my questions - metadata. I have managed to change metadata on a right click, but I wasn't sure about how to do it on a key press. Current code is as follows (apologies, but the code formatting isn't working for me): public ItemStack onKeyInput(ItemStack par1itemstack, World par2world, EntityPlayer par3player) { if (par1itemstack != null && par1itemstack.getItemDamage() == 0 && KeyBindings.pressR.isPressed()) { setDamage(par1itemstack, 1); }else{ if (par1itemstack != null && par1itemstack.getItemDamage() == 1 && KeyBindings.pressR.isPressed()) { setDamage(par1itemstack, 0); } } return par1itemstack; } ----=-and-=---- public class KeyBindings { public static KeyBinding pressR; public static KeyBinding pressX; public static void init() { pressR = new KeyBinding("key.pressR", Keyboard.KEY_R, "key.categories.elemental"); pressX = new KeyBinding("key.pressX", Keyboard.KEY_X, "key.categories.elemental"); ClientRegistry.registerKeyBinding(pressR); ClientRegistry.registerKeyBinding(pressX); } } I am sure I have missed something simple, but I am still learning and can't see what it is. The problem, in case asked, is that nothing happens - at all. Any help is much appreciated. Thanks, -Whyneb360
October 9, 201411 yr Keybindings are client-side, so you are modifying the ItemStack on the client side, but you need to change is server side. You need to send a packet to the server, telling the server that the button has been pressed, and let the server change the ItemStack. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
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.