SteamWar/BauSystem2.0
Archiviert
12
0

Update Laufbau
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
yoyosource 2022-02-03 23:26:19 +01:00
Ursprung d7062b07a3
Commit 44c26e0310

Datei anzeigen

@ -40,15 +40,11 @@ public class Laufbau {
private World world; private World world;
private Location pos1; private Location pos1;
private Location pos2; private Location pos2;
private Material blockMaterial;
private Material slabMaterial;
public Laufbau(Location pos1, Location pos2, Material blockMaterial, Material slabMaterial) { public Laufbau(Location pos1, Location pos2, Material blockMaterial, Material slabMaterial) {
this.world = pos1.getWorld(); this.world = pos1.getWorld();
this.pos1 = new Location(world, Math.min(pos1.getBlockX(), pos2.getBlockX()), Math.min(pos1.getBlockY(), pos2.getBlockY()), Math.min(pos1.getBlockZ(), pos2.getBlockZ())); this.pos1 = new Location(world, Math.min(pos1.getBlockX(), pos2.getBlockX()), Math.min(pos1.getBlockY(), pos2.getBlockY()), Math.min(pos1.getBlockZ(), pos2.getBlockZ()));
this.pos2 = new Location(world, Math.max(pos1.getBlockX(), pos2.getBlockX()), Math.max(pos1.getBlockY(), pos2.getBlockY()), Math.max(pos1.getBlockZ(), pos2.getBlockZ())); this.pos2 = new Location(world, Math.max(pos1.getBlockX(), pos2.getBlockX()), Math.max(pos1.getBlockY(), pos2.getBlockY()), Math.max(pos1.getBlockZ(), pos2.getBlockZ()));
this.blockMaterial = blockMaterial;
this.slabMaterial = slabMaterial;
StoredRecords.getRecords().forEach(record -> { StoredRecords.getRecords().forEach(record -> {
record.getTnt().forEach(tntRecord -> { record.getTnt().forEach(tntRecord -> {
@ -71,23 +67,26 @@ public class Laufbau {
Vector previousLocation = tntPosition.getPreviousLocation(); Vector previousLocation = tntPosition.getPreviousLocation();
if (previousLocation == null) { if (previousLocation == null) {
cuboidList.add(new Cuboid(location.getX() - 0.49, location.getY() - 0.49, location.getZ() - 0.49, 0.98, 0.98, 0.98)); cuboidList.add(new Cuboid(location.getX() - 0.49, location.getY(), location.getZ() - 0.49, 0.98, 0.98, 0.98));
} else { } else {
cuboidList.add(new Cuboid(previousLocation.getX() - 0.49, previousLocation.getY() - 0.49, previousLocation.getZ() - 0.49, 0.98, location.getY() + 0.49, 0.98));
Vector movement = location.clone().subtract(previousLocation); Vector movement = location.clone().subtract(previousLocation);
cuboidList.add(new Cuboid(previousLocation.getX() - 0.49, Math.min(previousLocation.getY(), location.getY()), previousLocation.getZ() - 0.49, 0.98, movement.getY() + 0.98, 0.98));
if (Math.abs(movement.getX()) > Math.abs(movement.getZ())) { if (Math.abs(movement.getX()) > Math.abs(movement.getZ())) {
cuboidList.add(new Cuboid(previousLocation.getX() - 0.49, location.getY() - 0.49, previousLocation.getZ() - 0.49, location.getX() + 0.49, 0.98, 0.98)); cuboidList.add(new Cuboid(Math.min(previousLocation.getX(), location.getX()) - 0.49, location.getY(), previousLocation.getZ() - 0.49, Math.abs(movement.getX()) + 0.98, 0.98, 0.98));
cuboidList.add(new Cuboid(location.getX() - 0.49, location.getY() - 0.49, previousLocation.getZ() - 0.49, 0.98, 0.98, location.getZ() + 0.49)); cuboidList.add(new Cuboid(location.getX() - 0.49, location.getY(), Math.min(previousLocation.getZ(), location.getZ()) - 0.49, 0.98, 0.98, Math.abs(movement.getZ()) + 0.98));
} else { } else {
cuboidList.add(new Cuboid(previousLocation.getX() - 0.49, location.getY() - 0.49, previousLocation.getZ() - 0.49, 0.98, 0.98, location.getZ() + 0.49)); cuboidList.add(new Cuboid(previousLocation.getX() - 0.49, location.getY(), Math.min(previousLocation.getZ(), location.getZ()) - 0.49, 0.98, 0.98, Math.abs(movement.getZ()) + 0.98));
cuboidList.add(new Cuboid(location.getX() - 0.49, location.getY() - 0.49, previousLocation.getZ() - 0.49, location.getX() + 0.49, 0.98, 0.98)); cuboidList.add(new Cuboid(Math.min(previousLocation.getX(), location.getX()) - 0.49, location.getY(), location.getZ() - 0.49, Math.abs(movement.getX()) + 0.98, 0.98, 0.98));
} }
// TODO: Add interpolated cuboids'
} }
} }
System.out.println(cuboidList); System.out.println(cuboidList);
System.out.println(cuboidList.size()); System.out.println(cuboidList.size());
cuboidList.forEach(cuboid -> {
System.out.println(cuboid);
});
/* /*
BlockData fullBlock = Material.STONE.createBlockData(); BlockData fullBlock = Material.STONE.createBlockData();
Slab topBlock = (Slab) Material.STONE_SLAB.createBlockData(); Slab topBlock = (Slab) Material.STONE_SLAB.createBlockData();
@ -149,6 +148,13 @@ public class Laufbau {
private double dz; private double dz;
private boolean inCuboid(Vector vector) { private boolean inCuboid(Vector vector) {
if (vector.getX() > x && vector.getX() < x + dx) {
if (vector.getY() > y && vector.getY() < y + dy) {
if (vector.getZ() > z && vector.getZ() < z + dz) {
return true;
}
}
}
return false; return false;
} }
} }