summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ItemRedstone.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemRedstone.java')
-rw-r--r--src/main/java/net/minecraft/server/ItemRedstone.java63
1 files changed, 36 insertions, 27 deletions
diff --git a/src/main/java/net/minecraft/server/ItemRedstone.java b/src/main/java/net/minecraft/server/ItemRedstone.java
index e28a1525..8e3cd885 100644
--- a/src/main/java/net/minecraft/server/ItemRedstone.java
+++ b/src/main/java/net/minecraft/server/ItemRedstone.java
@@ -18,51 +18,60 @@ public class ItemRedstone extends Item {
super(i);
}
- public boolean a(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l) {
- // CraftBukkit - store the clicked block
+ public boolean a(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l) {
+ // CraftBukkit start - store the clicked block
CraftWorld craftWorld = ((WorldServer) world).getWorld();
CraftServer craftServer = ((WorldServer) world).getServer();
org.bukkit.block.Block blockClicked = craftWorld.getBlockAt(i, j, k);
-
+ // CraftBukkit end
+
if (l == 0) {
- j--;
+ --j;
}
+
if (l == 1) {
- j++;
+ ++j;
}
+
if (l == 2) {
- k--;
+ --k;
}
+
if (l == 3) {
- k++;
+ ++k;
}
+
if (l == 4) {
- i--;
+ --i;
}
+
if (l == 5) {
- i++;
+ ++i;
}
- if (!world.e(i, j, k)) {
+
+ if (!world.isEmpty(i, j, k)) {
return false;
- }
- if (Block.av.a(world, i, j, k)) {
- // CraftBukkit start - Redstone
- Type eventType = Type.PLAYER_ITEM;
- Player who = (entityplayer == null)?null:(Player)entityplayer.getBukkitEntity();
- org.bukkit.inventory.ItemStack itemInHand = new CraftItemStack(itemstack);
- BlockFace blockface = CraftBlock.notchToBlockFace(1);
-
- PlayerItemEvent pie = new PlayerItemEvent(eventType, who, itemInHand, blockClicked, blockface);
- craftServer.getPluginManager().callEvent(pie);
-
- if (pie.isCancelled()) {
- return false;
+ } else {
+ if (Block.REDSTONE_WIRE.a(world, i, j, k)) {
+ // CraftBukkit start - Redstone
+ Type eventType = Type.PLAYER_ITEM;
+ Player who = (entityhuman == null) ? null : (Player) entityhuman.getBukkitEntity();
+ org.bukkit.inventory.ItemStack itemInHand = new CraftItemStack(itemstack);
+ BlockFace blockface = CraftBlock.notchToBlockFace(1);
+
+ PlayerItemEvent event = new PlayerItemEvent(eventType, who, itemInHand, blockClicked, blockface);
+ craftServer.getPluginManager().callEvent(event);
+
+ if (event.isCancelled()) {
+ return false;
+ }
+ // CraftBukkit end
+
+ --itemstack.count;
+ world.e(i, j, k, Block.REDSTONE_WIRE.id);
}
- // CraftBukkit end
- itemstack.a--;
- world.e(i, j, k, Block.av.bi);
+ return true;
}
- return true;
}
}