Add CuboidColorization filter option #167
@ -48,9 +48,10 @@ public class KillcheckerCommand extends SWCommand implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Register(value = "enable", description = "KILLCHECKER_HELP_ENABLE")
|
@Register(value = "enable", description = "KILLCHECKER_HELP_ENABLE")
|
||||||
public void genericCommand(Player player) {
|
public void genericCommand(Player player, @OptionalValue("ALL_CUBOIDS") ColorizedCuboidsOnly colorizedCuboidsOnly) {
|
||||||
Region region = Region.getRegion(player.getLocation());
|
Region region = Region.getRegion(player.getLocation());
|
||||||
KillcheckerVisualizer killcheckerVisualizer = visualizers.computeIfAbsent(region, KillcheckerVisualizer::new);
|
KillcheckerVisualizer killcheckerVisualizer = visualizers.computeIfAbsent(region, KillcheckerVisualizer::new);
|
||||||
|
killcheckerVisualizer.setOnlyColorizedBlocks(colorizedCuboidsOnly == ColorizedCuboidsOnly.ONLY_COLORIZED_CUBOIDS);
|
||||||
killcheckerVisualizer.recalc();
|
killcheckerVisualizer.recalc();
|
||||||
killcheckerVisualizer.show(player);
|
killcheckerVisualizer.show(player);
|
||||||
BauSystem.MESSAGE.send("KILLCHECKER_ENABLE", player);
|
BauSystem.MESSAGE.send("KILLCHECKER_ENABLE", player);
|
||||||
@ -99,4 +100,9 @@ public class KillcheckerCommand extends SWCommand implements Listener {
|
|||||||
recalc(event.getBlock());
|
recalc(event.getBlock());
|
||||||
}, 1);
|
}, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum ColorizedCuboidsOnly {
|
||||||
|
ONLY_COLORIZED_CUBOIDS,
|
||||||
|
ALL_CUBOIDS
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import de.steamwar.bausystem.region.utils.RegionType;
|
|||||||
import de.steamwar.entity.REntity;
|
import de.steamwar.entity.REntity;
|
||||||
import de.steamwar.entity.REntityServer;
|
import de.steamwar.entity.REntityServer;
|
||||||
import de.steamwar.entity.RFallingBlockEntity;
|
import de.steamwar.entity.RFallingBlockEntity;
|
||||||
|
import lombok.Setter;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
@ -55,6 +56,9 @@ public class KillcheckerVisualizer {
|
|||||||
|
|
||||||
private REntityServer rEntityServer = new REntityServer();
|
private REntityServer rEntityServer = new REntityServer();
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private boolean onlyColorizedBlocks = false;
|
||||||
|
|
||||||
private Map<Point, Integer> killCount = new HashMap<>();
|
private Map<Point, Integer> killCount = new HashMap<>();
|
||||||
private Map<Point, REntity> rEntities = new HashMap<>();
|
private Map<Point, REntity> rEntities = new HashMap<>();
|
||||||
|
|
||||||
@ -67,6 +71,10 @@ public class KillcheckerVisualizer {
|
|||||||
if (points.contains(new Point(x, y, z))) continue;
|
if (points.contains(new Point(x, y, z))) continue;
|
||||||
Block block = WORLD.getBlockAt(x, y, z);
|
Block block = WORLD.getBlockAt(x, y, z);
|
||||||
if (block.getType().isAir()) continue;
|
if (block.getType().isAir()) continue;
|
||||||
|
if (onlyColorizedBlocks) {
|
||||||
|
String name = block.getType().name();
|
||||||
|
if (!name.endsWith("_WOOL") && name.endsWith("_STAINED_GLASS") && !name.endsWith("_CONCRETE") && !name.endsWith("_TERRACOTTA")) continue;
|
||||||
|
}
|
||||||
Cuboid cuboid = create(block.getType(), x, y, z);
|
Cuboid cuboid = create(block.getType(), x, y, z);
|
||||||
cuboids.add(cuboid);
|
cuboids.add(cuboid);
|
||||||
for (int dx = (int) cuboid.getX(); dx <= cuboid.getDx(); dx++) {
|
for (int dx = (int) cuboid.getX(); dx <= cuboid.getDx(); dx++) {
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren