Bugfixes, tested.

This commit is contained in:
Lixfel
2024-11-26 21:59:52 +01:00
parent 0ca3ede280
commit 9911a52da9
@@ -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);
}
}
}