summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java
index e51dddbd..3bf83db1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHanging.java
@@ -1,6 +1,8 @@
package org.bukkit.craftbukkit.entity;
+import net.minecraft.server.BlockPosition;
import net.minecraft.server.EntityHanging;
+import net.minecraft.server.EnumDirection;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.craftbukkit.CraftServer;
@@ -23,30 +25,27 @@ public class CraftHanging extends CraftEntity implements Hanging {
public boolean setFacingDirection(BlockFace face, boolean force) {
Block block = getLocation().getBlock().getRelative(getAttachedFace()).getRelative(face.getOppositeFace()).getRelative(getFacing());
EntityHanging hanging = getHandle();
- int x = hanging.x, y = hanging.y, z = hanging.z, dir = hanging.direction;
- hanging.x = block.getX();
- hanging.y = block.getY();
- hanging.z = block.getZ();
+ BlockPosition old = hanging.getBlockPosition();
+ EnumDirection dir = hanging.direction;
+ hanging.blockPosition = new BlockPosition(block.getX(), block.getY(), block.getZ());
switch (face) {
case SOUTH:
default:
- getHandle().setDirection(0);
+ getHandle().setDirection(EnumDirection.SOUTH);
break;
case WEST:
- getHandle().setDirection(1);
+ getHandle().setDirection(EnumDirection.WEST);
break;
case NORTH:
- getHandle().setDirection(2);
+ getHandle().setDirection(EnumDirection.NORTH);
break;
case EAST:
- getHandle().setDirection(3);
+ getHandle().setDirection(EnumDirection.EAST);
break;
}
if (!force && !hanging.survives()) {
// Revert since it doesn't fit
- hanging.x = x;
- hanging.y = y;
- hanging.z = z;
+ hanging.blockPosition = old;
hanging.setDirection(dir);
return false;
}
@@ -55,14 +54,14 @@ public class CraftHanging extends CraftEntity implements Hanging {
public BlockFace getFacing() {
switch (this.getHandle().direction) {
- case 0:
+ case SOUTH:
default:
return BlockFace.SOUTH;
- case 1:
+ case WEST:
return BlockFace.WEST;
- case 2:
+ case NORTH:
return BlockFace.NORTH;
- case 3:
+ case EAST:
return BlockFace.EAST;
}
}