Add Region.extensionArea #196
@ -40,6 +40,7 @@ public class Region {
|
||||
|
||||
private static final List<Region> regions = new ArrayList<>();
|
||||
private static boolean buildArea = false;
|
||||
private static boolean extensionArea = false;
|
||||
|
||||
static{
|
||||
YamlConfiguration config = new YamlConfiguration();
|
||||
@ -66,6 +67,10 @@ public class Region {
|
||||
return buildArea;
|
||||
}
|
||||
|
||||
public static boolean extensionAreaEnabled() {
|
||||
return extensionArea;
|
||||
Lixfel markierte diese Unterhaltung als gelöst
|
||||
}
|
||||
|
||||
public static Region getRegion(Location location) {
|
||||
for (Region region : regions) {
|
||||
if (region.inRegion(location)) return region;
|
||||
@ -190,6 +195,14 @@ public class Region {
|
||||
prototype.protect(this, schem);
|
||||
}
|
||||
|
||||
public boolean hasExtensionAreaRegistered() {
|
||||
return prototype.extensionPrototypeArea;
|
||||
Lixfel markierte diese Unterhaltung als gelöst
Lixfel
hat
die Funktionalität überlappt sich irendwie mit hasBuildArea. Eine von beiden wählen. die Funktionalität überlappt sich irendwie mit hasBuildArea. Eine von beiden wählen.
YoyoNow
hat
Nein nicht ganz. Diese Methode gibt zurück ob für diesen Prototype überhaupt welche eingetragen sind. Nein nicht ganz. Diese Methode gibt zurück ob für diesen Prototype überhaupt welche eingetragen sind.
Lixfel
hat
und extensionAreaEnabled? Macht genau dasselbe (sr, meinte genau das) und extensionAreaEnabled? Macht genau dasselbe (sr, meinte genau das)
YoyoNow
hat
Nein, die sagt aus, ob es überhaupt in irgendeiner region an ist. das ist noch ein kleiner Unterschied zu der BuildRegion, das ist nicht das selbe und deswegen würde ich das auch strikt trennen. Nein, die sagt aus, ob es überhaupt in irgendeiner region an ist. das ist noch ein kleiner Unterschied zu der BuildRegion, das ist nicht das selbe und deswegen würde ich das auch strikt trennen.
Lixfel
hat
Bislang sind allerdings die Werte für prototype.extensionPrototypeArea und extensionArea immer IDENTISCH (dopplung) Bislang sind allerdings die Werte für prototype.extensionPrototypeArea und extensionArea immer IDENTISCH (dopplung)
|
||||
}
|
||||
|
||||
public boolean hasTestblockExtensionAreaRegistered() {
|
||||
return prototype.testblock.extensionPrototypeArea;
|
||||
}
|
||||
|
||||
public static class GlobalRegion extends Region {
|
||||
|
||||
private static final GlobalRegion GLOBAL_REGION = new GlobalRegion();
|
||||
@ -226,6 +239,15 @@ public class Region {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasExtensionAreaRegistered() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTestblockExtensionAreaRegistered() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Prototype{
|
||||
@ -243,6 +265,7 @@ public class Region {
|
||||
private final int extensionNegativeZ;
|
||||
private final int extensionPositiveY;
|
||||
private final int extensionAxisX;
|
||||
private final boolean extensionPrototypeArea;
|
||||
|
||||
private final String schematic;
|
||||
private final boolean rotate;
|
||||
@ -264,6 +287,10 @@ public class Region {
|
||||
extensionNegativeZ = config.getInt("extensionNegativeZ", 0);
|
||||
extensionPositiveY = config.getInt("extensionPositiveY", 0);
|
||||
extensionAxisX = config.getInt("extensionAxisX", 0);
|
||||
if (config.contains("extensionPositiveZ") || config.contains("extensionNegativeZ") || config.contains("extensionPositiveY") || config.contains("extensionAxisX")) {
|
||||
extensionArea = true;
|
||||
}
|
||||
extensionPrototypeArea = extensionNegativeZ != 0 || extensionPositiveZ != 0 || extensionPositiveY != 0 || extensionAxisX != 0;
|
||||
rotate = config.getBoolean("rotate", false);
|
||||
|
||||
ConfigurationSection testblockSection = config.getConfigurationSection("testblock");
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Könnte man das nicht so machen das, wenn eine der Zahlen nicht 0 ist dann returnt dies true?
Nein nicht ganz. Das problem ist, dass es auch Bereiche gibt, wo dies 0 ist mit Absicht, weil keine Ausfahrmaße existieren. Deswegen so gelöst. Außerdem soll das aussagen, dass es überhaupt sowas existiert.