Performance tuning, improve workaround for bukkit scheduler bugs

This commit is contained in:
Mike Primm 2011-07-19 00:52:05 -05:00
parent b51bb22b9e
commit 2c16c800e9
14 changed files with 412 additions and 303 deletions

View file

@ -4,6 +4,7 @@ import org.bukkit.World;
import org.dynmap.Color;
import org.dynmap.ConfigurationNode;
import org.dynmap.utils.MapIterator;
import org.dynmap.utils.MapIterator.BlockStep;
public class CaveTileRenderer extends DefaultTileRenderer {
@ -32,14 +33,14 @@ public class CaveTileRenderer extends DefaultTileRenderer {
switch (seq) {
case 0:
mapiter.decrementX();
mapiter.stepPosition(BlockStep.X_MINUS);
break;
case 1:
case 3:
mapiter.decrementY();
mapiter.stepPosition(BlockStep.Y_MINUS);
break;
case 2:
mapiter.incrementZ();
mapiter.stepPosition(BlockStep.Z_PLUS);
break;
}

View file

@ -24,6 +24,7 @@ import org.dynmap.kzedmap.KzedMap.KzedBufferedImage;
import org.dynmap.utils.FileLockManager;
import org.dynmap.utils.MapChunkCache;
import org.dynmap.utils.MapIterator;
import org.dynmap.utils.MapIterator.BlockStep;
import org.json.simple.JSONObject;
public class DefaultTileRenderer implements MapTileRenderer {
@ -442,18 +443,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
}
if((shadowscale != null) && (mapiter.getY() < 127)) {
/* Find light level of previous chunk */
switch(seq) {
case 0:
case 2:
mapiter.incrementY();
break;
case 1:
mapiter.incrementX();
break;
case 3:
mapiter.decrementZ();
break;
}
BlockStep last = mapiter.unstepPosition();
lightlevel = lightlevel_day = mapiter.getBlockSkyLight();
if(lightscale != null)
lightlevel = lightscale[lightlevel];
@ -462,34 +452,23 @@ public class DefaultTileRenderer implements MapTileRenderer {
lightlevel = Math.max(emitted, lightlevel);
lightlevel_day = Math.max(emitted, lightlevel_day);
}
switch(seq) {
case 0:
case 2:
mapiter.decrementY();
break;
case 1:
mapiter.decrementX();
break;
case 3:
mapiter.incrementZ();
break;
}
mapiter.stepPosition(last);
}
}
switch (seq) {
case 0:
mapiter.decrementX();
break;
case 1:
case 3:
mapiter.decrementY();
break;
case 2:
mapiter.incrementZ();
break;
case 0:
mapiter.stepPosition(BlockStep.X_MINUS);
break;
case 1:
case 3:
mapiter.stepPosition(BlockStep.Y_MINUS);
break;
case 2:
mapiter.stepPosition(BlockStep.Z_PLUS);
break;
}
seq = (seq + 1) & 3;
if (id != 0) {

View file

@ -7,6 +7,7 @@ import org.bukkit.World;
import org.dynmap.Color;
import org.dynmap.ConfigurationNode;
import org.dynmap.utils.MapIterator;
import org.dynmap.utils.MapIterator.BlockStep;
public class HighlightTileRenderer extends DefaultTileRenderer {
protected HashSet<Integer> highlightBlocks = new HashSet<Integer>();
@ -46,16 +47,16 @@ public class HighlightTileRenderer extends DefaultTileRenderer {
}
switch (seq) {
case 0:
mapiter.decrementX();
break;
case 1:
case 3:
mapiter.decrementY();
break;
case 2:
mapiter.incrementZ();
break;
case 0:
mapiter.stepPosition(BlockStep.X_MINUS);
break;
case 1:
case 3:
mapiter.stepPosition(BlockStep.Y_MINUS);
break;
case 2:
mapiter.stepPosition(BlockStep.Z_PLUS);
break;
}
seq = (seq + 1) & 3;