From b9ffd917e8ac5fb7e1d947f92f2c87cb8ea258bf Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Mon, 2 Mar 2015 13:58:27 -0800 Subject: [PATCH] Perf: Visualizations --- .../GriefPrevention/Visualization.java | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/src/me/ryanhamshire/GriefPrevention/Visualization.java b/src/me/ryanhamshire/GriefPrevention/Visualization.java index bb8e124..1b02e41 100644 --- a/src/me/ryanhamshire/GriefPrevention/Visualization.java +++ b/src/me/ryanhamshire/GriefPrevention/Visualization.java @@ -55,36 +55,35 @@ public class Visualization //reverts a visualization by sending another block change list, this time with the real world block values public static void Revert(Player player) { - PlayerData playerData = GriefPrevention.instance.dataStore.getPlayerData(player.getUniqueId()); + if(!player.isOnline()) return; + + PlayerData playerData = GriefPrevention.instance.dataStore.getPlayerData(player.getUniqueId()); Visualization visualization = playerData.currentVisualization; if(playerData.currentVisualization != null) { - if(player.isOnline()) - { - //locality - int minx = player.getLocation().getBlockX() - 100; - int minz = player.getLocation().getBlockZ() - 100; - int maxx = player.getLocation().getBlockX() + 100; - int maxz = player.getLocation().getBlockZ() + 100; - - //remove any elements which are too far away - visualization.removeElementsOutOfRange(visualization.elements, minx, minz, maxx, maxz); + //locality + int minx = player.getLocation().getBlockX() - 100; + int minz = player.getLocation().getBlockZ() - 100; + int maxx = player.getLocation().getBlockX() + 100; + int maxz = player.getLocation().getBlockZ() + 100; + + //remove any elements which are too far away + visualization.removeElementsOutOfRange(visualization.elements, minx, minz, maxx, maxz); + + //send real block information for any remaining elements + for(int i = 0; i < visualization.elements.size(); i++) + { + VisualizationElement element = visualization.elements.get(i); - //send real block information for any remaining elements - for(int i = 0; i < visualization.elements.size(); i++) - { - VisualizationElement element = visualization.elements.get(i); - - //check player still in world where visualization exists - if(i == 0) - { - if(!player.getWorld().equals(element.location.getWorld())) return; - } - - player.sendBlockChange(element.location, element.realMaterial, element.realData); - } + //check player still in world where visualization exists + if(i == 0) + { + if(!player.getWorld().equals(element.location.getWorld())) return; + } + + player.sendBlockChange(element.location, element.realMaterial, element.realData); } playerData.currentVisualization = null; @@ -180,7 +179,7 @@ public class Visualization int maxx = locality.getBlockX() + 100; int maxz = locality.getBlockZ() + 100; - final int STEP = 5; + final int STEP = 10; //top line for(int x = smallx + STEP; x < bigx - STEP / 2; x += STEP)