Performance tuning, improve workaround for bukkit scheduler bugs
This commit is contained in:
parent
b51bb22b9e
commit
2c16c800e9
14 changed files with 412 additions and 303 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue