forked from github-mirror/CoreProtect
Fixed beds not always rolling back in correct state (fixes #856)
This commit is contained in:
1 parent
afbbbd5aab
commit
0d47338038
1 file changed
+6
-5
@@ -210,11 +210,12 @@ public class RollbackBlockHandler extends Queue {
|
||||
|
||||
if (remove) {
|
||||
boolean physics = true;
|
||||
if ((changeType == Material.NETHER_PORTAL) || changeBlockData instanceof MultipleFacing || changeBlockData instanceof Snow || changeBlockData instanceof Stairs || changeBlockData instanceof RedstoneWire || changeBlockData instanceof Chest) {
|
||||
BlockData removeBlockData = pendingChangeData != null ? pendingChangeData : changeBlockData;
|
||||
if ((changeType == Material.NETHER_PORTAL) || removeBlockData instanceof MultipleFacing || removeBlockData instanceof Snow || removeBlockData instanceof Stairs || removeBlockData instanceof RedstoneWire || removeBlockData instanceof Chest) {
|
||||
physics = true;
|
||||
}
|
||||
else if (changeBlockData instanceof Bisected && !(changeBlockData instanceof TrapDoor)) {
|
||||
Bisected bisected = (Bisected) changeBlockData;
|
||||
else if (removeBlockData instanceof Bisected && !(removeBlockData instanceof TrapDoor)) {
|
||||
Bisected bisected = (Bisected) removeBlockData;
|
||||
Location bisectLocation = block.getLocation().clone();
|
||||
if (bisected.getHalf() == Half.TOP) {
|
||||
bisectLocation.setY(bisectLocation.getY() - 1);
|
||||
@@ -234,8 +235,8 @@ public class RollbackBlockHandler extends Queue {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (changeBlockData instanceof Bed) {
|
||||
Bed bed = (Bed) changeBlockData;
|
||||
else if (removeBlockData instanceof Bed) {
|
||||
Bed bed = (Bed) removeBlockData;
|
||||
if (bed.getPart() == Part.FOOT) {
|
||||
Block adjacentBlock = block.getRelative(bed.getFacing());
|
||||
BlockUtils.prepareTypeAndData(chunkChanges, adjacentBlock, rowType, null, false);
|
||||
|
||||
Reference in new issue
Block a user