forked from SteamWar/SteamWar
Update Region System of BauSystem
This commit is contained in:
+5
-5
@@ -17,9 +17,9 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package de.steamwar.bausystem.regionnew;
|
||||
package de.steamwar.bausystem.region;
|
||||
|
||||
import de.steamwar.bausystem.regionnew.flags.Flag;
|
||||
import de.steamwar.bausystem.region.flags.Flag;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
@@ -44,12 +44,12 @@ public class FixedFlagStorage implements FlagStorage {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean set(Flag<T> flag, Flag.Value<T> value) {
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean set(Flag<T> flag, T value) {
|
||||
return flagMap.put(flag, value) != value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> Flag.Value<T> get(Flag<T> flag) {
|
||||
return (Flag.Value<T>) flagMap.get(flag);
|
||||
public <T extends Enum<T> & Flag.Value<T>> T get(Flag<T> flag) {
|
||||
return (T) flagMap.get(flag);
|
||||
}
|
||||
}
|
||||
+13
-49
@@ -17,15 +17,13 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package de.steamwar.bausystem.regionnew;
|
||||
package de.steamwar.bausystem.region;
|
||||
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import de.steamwar.bausystem.regionnew.flags.Flag;
|
||||
import de.steamwar.sql.SchematicNode;
|
||||
import de.steamwar.bausystem.region.flags.Flag;
|
||||
import lombok.NonNull;
|
||||
import org.bukkit.Location;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.File;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -35,6 +33,7 @@ public final class FixedGlobalRegion implements Region {
|
||||
|
||||
private static final Point MIN_POINT = new Point(Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE);
|
||||
private static final Point MAX_POINT = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
|
||||
|
||||
private final FlagStorage FLAG_STORAGE = FixedFlagStorage.createFromRegion(this); // TODO: Update to either File or Region creation!
|
||||
|
||||
private FixedGlobalRegion() {
|
||||
@@ -47,21 +46,21 @@ public final class FixedGlobalRegion implements Region {
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy hasFlag(@NonNull Flag<T> flag) {
|
||||
if (flag.oneOff(Flag.TNT, Flag.FIRE, Flag.FREEZE, Flag.ITEMS)) {
|
||||
if (flag.oneOf(Flag.TNT, Flag.FIRE, Flag.FREEZE, Flag.ITEMS, Flag.NO_GRAVITY)) {
|
||||
return RegionFlagPolicy.WRITABLE;
|
||||
}
|
||||
return RegionFlagPolicy.NOT_APPLICABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean setFlag(@NonNull Flag<T> flag, Flag.Value<T> value) {
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean setFlag(@NonNull Flag<T> flag, T value) {
|
||||
return hasFlag(flag).isWritable() && FLAG_STORAGE.set(flag, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> Optional<Flag.Value<T>> getFlag(@NonNull Flag<T> flag) {
|
||||
public <T extends Enum<T> & Flag.Value<T>> Optional<T> getFlag(@NonNull Flag<T> flag) {
|
||||
if (hasFlag(flag).isReadable()) {
|
||||
return Optional.of(FLAG_STORAGE.get(flag));
|
||||
return Optional.ofNullable(FLAG_STORAGE.get(flag));
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
@@ -83,33 +82,13 @@ public final class FixedGlobalRegion implements Region {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
public Inner getBuildArea() {
|
||||
return Inner.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inBuildRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inTestblockRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
public Inner getTestblockArea() {
|
||||
return Inner.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,13 +102,8 @@ public final class FixedGlobalRegion implements Region {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyBuild() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyTestblock() {
|
||||
return Optional.empty();
|
||||
public boolean backup(boolean automatic) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -137,16 +111,6 @@ public final class FixedGlobalRegion implements Region {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetBuild(@Nullable SchematicNode schematicNode, boolean extension) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetTestblock(@Nullable SchematicNode schematicNode, boolean extension) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remember(EditSession editSession) {
|
||||
|
||||
+13
-50
@@ -17,15 +17,13 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package de.steamwar.bausystem.regionnew;
|
||||
package de.steamwar.bausystem.region;
|
||||
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import de.steamwar.bausystem.regionnew.flags.Flag;
|
||||
import de.steamwar.sql.SchematicNode;
|
||||
import de.steamwar.bausystem.region.flags.Flag;
|
||||
import lombok.NonNull;
|
||||
import org.bukkit.Location;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.File;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -42,12 +40,12 @@ public class FixedRegion implements Region { // TODO: Implement!
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean setFlag(@NonNull Flag<T> flag, Flag.Value<T> value) {
|
||||
public <T extends Enum<T> & Flag.Value<T>> boolean setFlag(@NonNull Flag<T> flag, T value) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Enum<T> & Flag.Value<T>> Optional<Flag.Value<T>> getFlag(@NonNull Flag<T> flag) {
|
||||
public <T extends Enum<T> & Flag.Value<T>> Optional<T> getFlag(@NonNull Flag<T> flag) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@@ -67,33 +65,13 @@ public class FixedRegion implements Region { // TODO: Implement!
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
public Inner getBuildArea() {
|
||||
return Inner.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inBuildRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inTestblockRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
public Inner getTestblockArea() {
|
||||
return Inner.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -101,36 +79,21 @@ public class FixedRegion implements Region { // TODO: Implement!
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean backup(boolean automatic) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copy() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyBuild() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyTestblock() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetBuild(@Nullable SchematicNode schematicNode, boolean extension) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetTestblock(@Nullable SchematicNode schematicNode, boolean extension) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remember(EditSession editSession) {
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package de.steamwar.bausystem.regionnew;
|
||||
package de.steamwar.bausystem.region;
|
||||
|
||||
import org.bukkit.Location;
|
||||
|
||||
Reference in New Issue
Block a user