Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[1.12.2] Checking if the player can place a block using PlayerInteractEvent.RightClickBlock

Featured Replies

Posted

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 by tuku747

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.

  • Author
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?

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.