geforkt von Mirrors/Paper
Fix inability to use items under certain circumstances
Dieser Commit ist enthalten in:
Ursprung
f330025f1f
Commit
95c08f854f
@ -186,11 +186,6 @@ public class ItemInWorldManager {
|
|||||||
public boolean a(EntityHuman entityhuman, World world, ItemStack itemstack) {
|
public boolean a(EntityHuman entityhuman, World world, ItemStack itemstack) {
|
||||||
int i = itemstack.count;
|
int i = itemstack.count;
|
||||||
|
|
||||||
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(entityhuman, Action.RIGHT_CLICK_AIR, itemstack);
|
|
||||||
if (event.useItemInHand() == Event.Result.DENY) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemStack itemstack1 = itemstack.a(world, entityhuman);
|
ItemStack itemstack1 = itemstack.a(world, entityhuman);
|
||||||
|
|
||||||
if (itemstack1 == itemstack && (itemstack1 == null || itemstack1.count == i)) {
|
if (itemstack1 == itemstack && (itemstack1 == null || itemstack1.count == i)) {
|
||||||
@ -220,10 +215,14 @@ public class ItemInWorldManager {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
result = Block.byId[i1].a(world, i, j, k, entityhuman);
|
result = Block.byId[i1].a(world, i, j, k, entityhuman);
|
||||||
|
if (itemstack != null && !result) {
|
||||||
|
result = itemstack.a(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
|
// If we have 'true' and no explicit deny *or* an explicit allow -- run the item part of the hook
|
||||||
if (itemstack != null && ((!result && event.useItemInHand() != Event.Result.DENY) || event.useItemInHand() == Event.Result.ALLOW)) {
|
if (itemstack != null && ((!result && event.useItemInHand() != Event.Result.DENY) || event.useItemInHand() == Event.Result.ALLOW)) {
|
||||||
result = itemstack.a(entityhuman, world, i, j, k, l);
|
this.a(entityhuman, world, itemstack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -412,7 +412,10 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
|
|||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
int itemstackAmount = itemstack.count;
|
int itemstackAmount = itemstack.count;
|
||||||
this.e.c.a(this.e, this.e.world, itemstack);
|
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.e, Action.RIGHT_CLICK_AIR, itemstack);
|
||||||
|
if (event.useItemInHand() != Event.Result.DENY) {
|
||||||
|
this.e.c.a(this.e, this.e.world, itemstack);
|
||||||
|
}
|
||||||
|
|
||||||
// CraftBukkit notch decrements the counter by 1 in the above method with food,
|
// CraftBukkit notch decrements the counter by 1 in the above method with food,
|
||||||
// snowballs and so forth, but he does it in a place that doesn't cause the
|
// snowballs and so forth, but he does it in a place that doesn't cause the
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren