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

View File

@ -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++) {

View File

@ -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.");

View File

@ -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(),

View File

@ -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))) {