diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java index 3b5e7aff..9c1f69b4 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java @@ -26,6 +26,7 @@ import com.sk89q.worldedit.bukkit.WorldEditPlugin; import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.regions.RegionSelector; +import com.sk89q.worldedit.world.World; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -40,6 +41,8 @@ public class WorldEditRenderer { private static final double STEP_SIZE = 0.5; + private static final Vector ONES = new Vector(1, 1, 1); + private final WorldEditPlugin we; public WorldEditRenderer() { @@ -68,17 +71,22 @@ public class WorldEditRenderer { //ignore } - RegionSelector regionSelector = session.getRegionSelector(session.getSelectionWorld()); - try { - Region region = regionSelector.getRegion(); - drawCuboid(WorldEditWrapper.impl.getMinimum(region), WorldEditWrapper.impl.getMaximum(region), Particle.DRAGON_BREATH, player); - } catch (IncompleteRegionException e) { - //ignore + World world = session.getSelectionWorld(); + if(world != null) { + RegionSelector regionSelector = session.getRegionSelector(world); + try { + Region region = regionSelector.getRegion(); + drawCuboid(WorldEditWrapper.impl.getMinimum(region), WorldEditWrapper.impl.getMaximum(region), Particle.DRAGON_BREATH, player); + } catch (IncompleteRegionException e) { + //ignore + } } } } private void drawCuboid(Vector min, Vector max, Particle particle, Player owner) { + max.add(ONES); + for(double x = min.getBlockX(); x <= max.getBlockX(); x += STEP_SIZE) { draw(x, min.getBlockY(), min.getBlockZ(), particle, owner); draw(x, min.getBlockY(), max.getBlockZ(), particle, owner); @@ -110,7 +118,7 @@ public class WorldEditRenderer { if(dx*dx + dy*dy + dz*dz > SQ_VIEW_DISTANCE) continue; - player.spawnParticle(player == owner ? particle : Particle.TOWN_AURA, x, y, z, 1); + player.spawnParticle(player == owner ? particle : Particle.TOWN_AURA, x, y, z, 1, 0.0, 0.0, 0.0, 0.0); } } }