add generatePrototypeData
Dieser Commit ist enthalten in:
Ursprung
e0bbc812c1
Commit
b399ec3a3d
@ -32,4 +32,12 @@ public class Point {
|
||||
private final int x;
|
||||
private final int y;
|
||||
private final int z;
|
||||
|
||||
public Point add(int x, int y, int z) {
|
||||
return new Point(this.x + x, this.y + y, this.z + z);
|
||||
}
|
||||
|
||||
public Point substract(int x, int y, int z) {
|
||||
return new Point(this.x - x, this.y - y, this.z - z);
|
||||
}
|
||||
}
|
@ -82,16 +82,33 @@ public class Region {
|
||||
});
|
||||
}
|
||||
this.flagStorage = flagStorage;
|
||||
generatePrototypeData(prototype);
|
||||
generatePrototypeData(prototype, regionConfig.getPlainValue("minPoint"));
|
||||
}
|
||||
|
||||
private void generatePrototypeData(Prototype prototype) {
|
||||
if (prototype != null && !prototypes.contains(prototype)) {
|
||||
private void generatePrototypeData(Prototype prototype, Point point) {
|
||||
if (prototype == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!prototypes.contains(prototype)) {
|
||||
return;
|
||||
}
|
||||
this.prototype = prototype;
|
||||
|
||||
// TODO: implement generation
|
||||
this.minPoint = point;
|
||||
this.maxPoint = point.add(prototype.getSizeX(), prototype.getSizeY(), prototype.getSizeZ());
|
||||
|
||||
this.minPointTestblock = point.add(prototype.getTestblock().getOffsetX(), prototype.getTestblock().getOffsetY(), prototype.getTestblock().getOffsetZ());
|
||||
this.maxPointTestblock = this.minPointTestblock.add(prototype.getTestblock().getSizeX(), prototype.getTestblock().getSizeY(), prototype.getTestblock().getSizeZ());
|
||||
|
||||
this.minPointTestblockExtension = this.minPointTestblock.substract(prototype.getTestblock().getExtensionNegativeX(), prototype.getTestblock().getExtensionNegativeY(), prototype.getTestblock().getExtensionNegativeZ());
|
||||
this.maxPointTestblockExtension = this.maxPointTestblock.add(prototype.getTestblock().getExtensionPositiveX(), prototype.getTestblock().getExtensionPositiveY(), prototype.getTestblock().getExtensionPositiveZ());
|
||||
|
||||
this.minPointBuild = point.add(prototype.getBuild().getOffsetX(), prototype.getBuild().getOffsetY(), prototype.getBuild().getOffsetZ());
|
||||
this.maxPointBuild = this.minPointBuild.add(prototype.getBuild().getSizeX(), prototype.getBuild().getSizeY(), prototype.getBuild().getSizeZ());
|
||||
|
||||
this.minPointBuildExtension = this.minPointBuild.substract(prototype.getBuild().getExtensionNegativeX(), prototype.getBuild().getExtensionNegativeY(), prototype.getBuild().getExtensionNegativeZ());
|
||||
this.maxPointBuildExtension = this.maxPointBuild.add(prototype.getBuild().getExtensionPositiveX(), prototype.getBuild().getExtensionPositiveY(), prototype.getBuild().getExtensionPositiveZ());
|
||||
}
|
||||
|
||||
public boolean inRegion(Location location, RegionType regionType, RegionExtensionType regionExtensionType) {
|
||||
@ -134,5 +151,4 @@ public class Region {
|
||||
public String getDisplayName() {
|
||||
return prototype != null ? prototype.getDisplayName() : "";
|
||||
}
|
||||
|
||||
}
|
In neuem Issue referenzieren
Einen Benutzer sperren