mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 12:41:50 +01:00
SPIGOT-1984: Fix default interact state when sneaking
This commit is contained in:
parent
6cac62c64d
commit
622014a3b4
1 changed files with 4 additions and 2 deletions
|
@ -226,11 +226,11 @@
|
|||
if (this.gamemode == WorldSettings.EnumGamemode.SPECTATOR) {
|
||||
TileEntity tileentity = world.getTileEntity(blockposition);
|
||||
|
||||
@@ -329,6 +464,72 @@
|
||||
@@ -329,6 +464,74 @@
|
||||
return itemstack.placeItem(entityhuman, world, blockposition, enumhand, enumdirection, f, f1, f2);
|
||||
}
|
||||
}
|
||||
+ // Interract event */
|
||||
+ // Interact event */
|
||||
+ IBlockData blockdata = world.getType(blockposition);
|
||||
+ EnumInteractionResult result = EnumInteractionResult.FAIL;
|
||||
+ if (blockdata.getBlock() != Blocks.AIR) {
|
||||
|
@ -239,6 +239,8 @@
|
|||
+ if (this.gamemode == WorldSettings.EnumGamemode.SPECTATOR) {
|
||||
+ TileEntity tileentity = world.getTileEntity(blockposition);
|
||||
+ cancelledBlock = !(tileentity instanceof ITileInventory || tileentity instanceof IInventory);
|
||||
+ } else {
|
||||
+ cancelledBlock = !(!entityhuman.isSneaking() || entityhuman.getItemInMainHand() == null && entityhuman.getItemInOffHand() == null); // From above
|
||||
+ }
|
||||
+
|
||||
+ if (!entityhuman.getBukkitEntity().isOp() && itemstack != null && Block.asBlock(itemstack.getItem()) instanceof BlockCommand) {
|
||||
|
|
Loading…
Reference in a new issue