Added //fast mode, which allows the server to skip the dirtying of chunks. This means that you have to rejoin to see changes though, but most operations are doubled in speed.

This commit is contained in:
sk89q
2011-06-04 10:30:45 -07:00
parent d397460026
commit d881c14e2d
11 changed files with 514 additions and 23 deletions
@@ -56,8 +56,7 @@ public class AreaPickaxe implements BlockTool {
return true;
}
EditSession editSession =
new EditSession(world, session.getBlockChangeLimit());
EditSession editSession = session.createEditSession(player);
try {
for (int x = ox - range; x <= ox + range; x++) {
@@ -50,9 +50,8 @@ public class FloatingTreeRemover implements BlockTool {
int initialType = world.getBlockType(clicked);
int block;
EditSession editSession =
new EditSession(world, session.getBlockChangeLimit());
EditSession editSession = session.createEditSession(player);
if (initialType != BlockID.LEAVES && initialType != BlockID.LOG) {
player.printError("That's not a floating tree.");
@@ -56,9 +56,8 @@ public class RecursivePickaxe implements BlockTool {
if (initialType == BlockID.BEDROCK && !player.canDestroyBedrock()) {
return true;
}
EditSession editSession =
new EditSession(world, session.getBlockChangeLimit());
EditSession editSession = session.createEditSession(player);
try {
recurse(server, editSession, world, clicked.toBlockVector(),
@@ -41,9 +41,7 @@ public class TreePlanter implements BlockTool {
public boolean actPrimary(ServerInterface server, LocalConfiguration config,
LocalPlayer player, LocalSession session, WorldVector clicked) {
LocalWorld world = clicked.getWorld();
EditSession editSession =
new EditSession(world, session.getBlockChangeLimit());
EditSession editSession = session.createEditSession(player);
try {
if (!gen.generate(editSession, clicked.add(0, 1, 0))) {