Fixed FloatingTreeRemover (/tool deltree) to work correctly with jungle trees

This commit is contained in:
zml2008 2012-03-17 15:09:37 -07:00
parent 2fbaa5a29f
commit ba1d2c751b

View File

@ -29,7 +29,7 @@ import com.sk89q.worldedit.blocks.BlockID;
/** /**
* A pickaxe mode that removes floating treetops (logs and leaves not connected * A pickaxe mode that removes floating treetops (logs and leaves not connected
* to anything else) * to anything else)
* *
* @author Moo0 * @author Moo0
*/ */
public class FloatingTreeRemover implements BlockTool { public class FloatingTreeRemover implements BlockTool {
@ -54,6 +54,7 @@ public class FloatingTreeRemover implements BlockTool {
case BlockID.LEAVES: case BlockID.LEAVES:
case BlockID.BROWN_MUSHROOM_CAP: case BlockID.BROWN_MUSHROOM_CAP:
case BlockID.RED_MUSHROOM_CAP: case BlockID.RED_MUSHROOM_CAP:
case BlockID.VINE:
break; break;
default: default:
@ -77,6 +78,7 @@ public class FloatingTreeRemover implements BlockTool {
case BlockID.LEAVES: case BlockID.LEAVES:
case BlockID.BROWN_MUSHROOM_CAP: case BlockID.BROWN_MUSHROOM_CAP:
case BlockID.RED_MUSHROOM_CAP: case BlockID.RED_MUSHROOM_CAP:
case BlockID.VINE:
editSession.setBlock(blockVector, AIR); editSession.setBlock(blockVector, AIR);
} }
} }
@ -132,13 +134,15 @@ public class FloatingTreeRemover implements BlockTool {
case BlockID.LEAVES: case BlockID.LEAVES:
case BlockID.BROWN_MUSHROOM_CAP: case BlockID.BROWN_MUSHROOM_CAP:
case BlockID.RED_MUSHROOM_CAP: case BlockID.RED_MUSHROOM_CAP:
case BlockID.VINE:
// queue next point // queue next point
queue.addLast(next); queue.addLast(next);
break; break;
default: default:
// we hit something solid - evaluate where we came from // we hit something solid - evaluate where we came from
if (world.getBlockType(current) == BlockID.LEAVES) { final int curId = world.getBlockType(current);
if (curId == BlockID.LEAVES || curId == BlockID.VINE) {
// leaves touching a wall/the ground => stop walking this route // leaves touching a wall/the ground => stop walking this route
continue; continue;
} else { } else {