Added more control over block placement on interactable objects. Thanks Acru!

Plugins can now allow placing a block on an interactable object, by DENYing the
interact and ALLOWing the place.
This commit is contained in:
EvilSeph 2011-06-08 17:52:10 -04:00
parent b5d1619e75
commit a285a7b211

View File

@ -213,11 +213,13 @@ public class ItemInWorldManager {
boolean bottom = (world.getData(i, j, k) & 8) == 0;
((EntityPlayer) entityhuman).netServerHandler.sendPacket(new Packet53BlockChange(i, j + (bottom ? 1 : -1), k, world));
}
result = (event.useItemInHand() != Event.Result.ALLOW);
} else {
result = Block.byId[i1].interact(world, i, j, k, entityhuman);
if (itemstack != null && !result) {
result = itemstack.placeItem(entityhuman, world, i, j, k, l);
}
}
if (itemstack != null && !result) {
result = itemstack.placeItem(entityhuman, world, i, j, k, l);
}
// If we have 'true' and no explicit deny *or* an explicit allow -- run the item part of the hook