[BREAKING] Update BlockFace directions. Fixes BUKKIT-1567, BUKKIT-3069

If you use BlockFace in any way, to compensate the directionals being incorrect, you can still have backwards compatibility if you add in the handling in your plugin:
boolean legacyBlockFace = BlockFace.NORTH().getModX() == -1; (and then handle it accordingly)

If you didn't special case your directions to fix what's being fixed here... Hurray! Your plugin should now work.

By: feildmaster <admin@feildmaster.com>
This commit is contained in:
Bukkit/Spigot
2012-12-01 00:21:22 -06:00
parent 9e0336d03c
commit 711f3f1007
25 changed files with 272 additions and 272 deletions

View File

@@ -63,13 +63,13 @@ public class Mushroom extends MaterialData {
}
switch (face) {
case NORTH:
return data < NORTH_LIMIT;
case SOUTH:
return data > SOUTH_LIMIT;
case EAST:
return data % EAST_WEST_LIMIT == EAST_REMAINDER;
case WEST:
return data < NORTH_LIMIT;
case EAST:
return data > SOUTH_LIMIT;
case NORTH:
return data % EAST_WEST_LIMIT == EAST_REMAINDER;
case SOUTH:
return data % EAST_WEST_LIMIT == WEST_REMAINDER;
case UP:
return true;
@@ -96,23 +96,23 @@ public class Mushroom extends MaterialData {
}
switch (face) {
case NORTH:
case WEST:
if (painted) {
data -= NORTH_SOUTH_MOD;
} else {
data += NORTH_SOUTH_MOD;
}
break;
case SOUTH:
if (painted) {
data += NORTH_SOUTH_MOD;
} else {
data -= NORTH_SOUTH_MOD;
}
break;
case EAST:
if (painted) {
data += NORTH_SOUTH_MOD;
} else {
data -= NORTH_SOUTH_MOD;
}
break;
case NORTH:
if (painted) {
data += EAST_WEST_MOD;
} else {
@@ -120,7 +120,7 @@ public class Mushroom extends MaterialData {
}
break;
case WEST:
case SOUTH:
if (painted) {
data -= EAST_WEST_MOD;
} else {
@@ -147,22 +147,22 @@ public class Mushroom extends MaterialData {
public Set<BlockFace> getPaintedFaces() {
EnumSet<BlockFace> faces = EnumSet.noneOf(BlockFace.class);
if (isFacePainted(BlockFace.NORTH)) {
faces.add(BlockFace.NORTH);
}
if (isFacePainted(BlockFace.EAST)) {
faces.add(BlockFace.EAST);
}
if (isFacePainted(BlockFace.WEST)) {
faces.add(BlockFace.WEST);
}
if (isFacePainted(BlockFace.NORTH)) {
faces.add(BlockFace.NORTH);
}
if (isFacePainted(BlockFace.SOUTH)) {
faces.add(BlockFace.SOUTH);
}
if (isFacePainted(BlockFace.EAST)) {
faces.add(BlockFace.EAST);
}
if (isFacePainted(BlockFace.UP)) {
faces.add(BlockFace.UP);
}