tuku747 Posted September 22, 2019 Share Posted September 22, 2019 (edited) Is there a way to tell if the item used during PlayerInteractEvent is going to result in a block being placed in the world? The issue with PlayerInteractEvent.RightClickBlock is that it's called on the client even when the player is too close to the clicked block for a new block to be placed. I need to check before BlockEvent.PlaceEvent is triggered because I want to prevent the ItemStack's count from decreasing. I tried using world.mayPlace() but it doesn't seem to detect if the player is standing in the way. I'm using this method in PlayerInteractEvent.RightClickBlock: Block block = Block.getBlockFromItem(event.getItemStack().getItem()); if (world.mayPlace(block, event.getPos().offset(event.getFace()), false, event.getFace(), player)) { } Alternatively, is there a reliable way to detect when an item is consumed or depleted in stack size? Edited September 23, 2019 by tuku747 Quote Link to comment Share on other sites More sharing options...
IMleader Posted September 23, 2019 Share Posted September 23, 2019 2 hours ago, tuku747 said: The issue with PlayerInteractEvent.RightClickBlock is that it's called on the client even when the player is too close to the clicked block for a new block to be placed. Only execute on serverside then. Quote Link to comment Share on other sites More sharing options...
tuku747 Posted September 23, 2019 Author Share Posted September 23, 2019 2 hours ago, IMleader said: Only execute on serverside then. This causes the client and the server to desync. The item is used up on the client but still exists on the server. Is there a reliable way to update the client's hotbar? Quote Link to comment Share on other sites More sharing options...
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.