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.java70
1 files changed, 36 insertions, 34 deletions
diff --git a/src/main/java/net/minecraft/server/ItemRedstone.java b/src/main/java/net/minecraft/server/ItemRedstone.java
index ccb06bb7..631d93a7 100644
--- a/src/main/java/net/minecraft/server/ItemRedstone.java
+++ b/src/main/java/net/minecraft/server/ItemRedstone.java
@@ -14,53 +14,55 @@ public class ItemRedstone extends Item {
}
public boolean a(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l) {
- int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit;
+ int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit
- if (l == 0) {
- --j;
- }
+ if (world.getTypeId(i, j, k) != Block.SNOW.id) {
+ if (l == 0) {
+ --j;
+ }
- if (l == 1) {
- ++j;
- }
+ if (l == 1) {
+ ++j;
+ }
- if (l == 2) {
- --k;
- }
+ if (l == 2) {
+ --k;
+ }
- if (l == 3) {
- ++k;
- }
+ if (l == 3) {
+ ++k;
+ }
- if (l == 4) {
- --i;
- }
+ if (l == 4) {
+ --i;
+ }
- if (l == 5) {
- ++i;
- }
+ if (l == 5) {
+ ++i;
+ }
- if (!world.isEmpty(i, j, k)) {
- return false;
- } else {
- if (Block.REDSTONE_WIRE.canPlace(world, i, j, k)) {
- BlockState blockState = CraftBlockState.getBlockState(world, i, j, k); // CraftBukkit
+ if (!world.isEmpty(i, j, k)) {
+ return false;
+ }
+ }
- world.setTypeId(i, j, k, Block.REDSTONE_WIRE.id);
+ if (Block.REDSTONE_WIRE.canPlace(world, i, j, k)) {
+ BlockState blockState = CraftBlockState.getBlockState(world, i, j, k); // CraftBukkit
- // CraftBukkit start - redstone
- BlockPlaceEvent event = CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, clickedX, clickedY, clickedZ, Block.REDSTONE_WIRE);
+ world.setTypeId(i, j, k, Block.REDSTONE_WIRE.id);
- if (event.isCancelled() || !event.canBuild()) {
- event.getBlockPlaced().setTypeIdAndData(blockState.getTypeId(), blockState.getRawData(), false);
- return false;
- }
- // CraftBukkit end
+ // CraftBukkit start - redstone
+ BlockPlaceEvent event = CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, clickedX, clickedY, clickedZ, Block.REDSTONE_WIRE);
- --itemstack.count; // CraftBukkit -- ORDER MATTERS
+ if (event.isCancelled() || !event.canBuild()) {
+ event.getBlockPlaced().setTypeIdAndData(blockState.getTypeId(), blockState.getRawData(), false);
+ return false;
}
+ // CraftBukkit end
- return true;
+ --itemstack.count; // CraftBukkit - ORDER MATTERS
}
+
+ return true;
}
}