Skip to content

Commit

Permalink
Correct 1.5 material data. Fixes BUKKIT-4004, BUKKIT-3785
Browse files Browse the repository at this point in the history
  • Loading branch information
amaranth committed Apr 12, 2013
1 parent 18c4648 commit 30a9758
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/main/java/org/bukkit/Material.java
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,8 @@ public enum Material {
HOPPER(154),
QUARTZ_BLOCK(155),
QUARTZ_STAIRS(156, Stairs.class),
ACTIVATOR_RAIL(157),
DROPPER(158, DirectionalContainer.class),
ACTIVATOR_RAIL(157, PoweredRail.class),
DROPPER(158, Dispenser.class),
// ----- Item Separator -----
IRON_SPADE(256, 1, 250),
IRON_PICKAXE(257, 1, 250),
Expand Down
57 changes: 57 additions & 0 deletions src/main/java/org/bukkit/material/Dispenser.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,63 @@ public Dispenser(final Material type, final byte data) {
super(type, data);
}

public void setFacingDirection(BlockFace face) {
byte data;

switch (face) {
case DOWN:
data = 0x0;
break;

case UP:
data = 0x1;
break;

case NORTH:
data = 0x2;
break;

case SOUTH:
data = 0x3;
break;

case WEST:
data = 0x4;
break;

case EAST:
default:
data = 0x5;
}

setData(data);
}

public BlockFace getFacing() {
int data = getData() & 0x7;

switch (data) {
case 0x0:
return BlockFace.DOWN;

case 0x1:
return BlockFace.UP;

case 0x2:
return BlockFace.NORTH;

case 0x3:
return BlockFace.SOUTH;

case 0x4:
return BlockFace.WEST;

case 0x5:
default:
return BlockFace.EAST;
}
}

@Override
public Dispenser clone() {
return (Dispenser) super.clone();
Expand Down

0 comments on commit 30a9758

Please sign in to comment.