Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 12:30:06 +01:00
Only allow command blocks to be placed by op'd players
Dieser Commit ist enthalten in:
Ursprung
53fc3cf74f
Commit
dbdf6cacbf
@ -1,5 +1,5 @@
|
|||||||
--- ../work/decompile-8eb82bde//net/minecraft/server/PlayerInteractManager.java 2014-12-09 12:19:57.555618161 +0000
|
--- ../work/decompile-8eb82bde/net/minecraft/server/PlayerInteractManager.java 2014-12-21 19:03:39.124516788 +0000
|
||||||
+++ src/main/java/net/minecraft/server/PlayerInteractManager.java 2014-12-09 12:16:26.307622849 +0000
|
+++ src/main/java/net/minecraft/server/PlayerInteractManager.java 2014-12-21 19:03:39.128516787 +0000
|
||||||
@@ -1,5 +1,13 @@
|
@@ -1,5 +1,13 @@
|
||||||
package net.minecraft.server;
|
package net.minecraft.server;
|
||||||
|
|
||||||
@ -216,7 +216,7 @@
|
|||||||
if (this.gamemode == EnumGamemode.SPECTATOR) {
|
if (this.gamemode == EnumGamemode.SPECTATOR) {
|
||||||
TileEntity tileentity = world.getTileEntity(blockposition);
|
TileEntity tileentity = world.getTileEntity(blockposition);
|
||||||
|
|
||||||
@@ -312,6 +444,68 @@
|
@@ -312,6 +444,72 @@
|
||||||
return itemstack.placeItem(entityhuman, world, blockposition, enumdirection, f, f1, f2);
|
return itemstack.placeItem(entityhuman, world, blockposition, enumdirection, f, f1, f2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -231,6 +231,10 @@
|
|||||||
+ cancelledBlock = !(tileentity instanceof ITileInventory || tileentity instanceof IInventory);
|
+ cancelledBlock = !(tileentity instanceof ITileInventory || tileentity instanceof IInventory);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ if (!entityhuman.getBukkitEntity().isOp() && itemstack != null && Block.asBlock(itemstack.getItem()) instanceof BlockCommand) {
|
||||||
|
+ cancelledBlock = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(entityhuman, Action.RIGHT_CLICK_BLOCK, blockposition, enumdirection, itemstack, cancelledBlock);
|
+ PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(entityhuman, Action.RIGHT_CLICK_BLOCK, blockposition, enumdirection, itemstack, cancelledBlock);
|
||||||
+ firedInteract = true;
|
+ firedInteract = true;
|
||||||
+ interactResult = event.useItemInHand() == Event.Result.DENY;
|
+ interactResult = event.useItemInHand() == Event.Result.DENY;
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren