forked from SteamWar/SteamWar
Add PathRegion
This commit is contained in:
+7
-2
@@ -30,6 +30,7 @@ import de.steamwar.bausystem.BauSystem;
|
||||
import de.steamwar.bausystem.features.util.SelectCommand;
|
||||
import de.steamwar.bausystem.region.Point;
|
||||
import de.steamwar.bausystem.region.Region;
|
||||
import de.steamwar.bausystem.region.RegionHistory;
|
||||
import de.steamwar.bausystem.region.RegionUtils;
|
||||
import de.steamwar.bausystem.region.flags.Flag;
|
||||
import de.steamwar.bausystem.shared.Pair;
|
||||
@@ -71,7 +72,10 @@ public class RegionCommand extends SWCommand {
|
||||
@Register(value = "undo", description = "REGION_REGION_HELP_UNDO")
|
||||
public void undoCommand(@Validator Player p) {
|
||||
Region region = Region.getRegion(p.getLocation());
|
||||
if (checkGlobalRegion(region, p)) return;
|
||||
if (region.getHistory() == RegionHistory.EMPTY) {
|
||||
BauSystem.MESSAGE.send("REGION_REGION_NO_REGION", p);
|
||||
return;
|
||||
}
|
||||
|
||||
if (region.getHistory().undo()) {
|
||||
RegionUtils.message(region, "REGION_REGION_UNDID");
|
||||
@@ -83,7 +87,8 @@ public class RegionCommand extends SWCommand {
|
||||
@Register(value = "redo", description = "REGION_REGION_HELP_REDO")
|
||||
public void redoCommand(@Validator Player p) {
|
||||
Region region = Region.getRegion(p.getLocation());
|
||||
if (checkGlobalRegion(region, p)) {
|
||||
if (region.getHistory() == RegionHistory.EMPTY) {
|
||||
BauSystem.MESSAGE.send("REGION_REGION_NO_REGION", p);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,15 +26,24 @@ import lombok.RequiredArgsConstructor;
|
||||
@Getter
|
||||
public enum RegionType {
|
||||
|
||||
GLOBAL(true, false),
|
||||
NORMAL(false, true),
|
||||
GLOBAL(true, false, true, ConnectionType.Global),
|
||||
NORMAL(false, true, false, ConnectionType.Closed),
|
||||
|
||||
SPAWN(false, false),
|
||||
SPAWN_PATH(false, false),
|
||||
SPAWN_EXTENSION(false, false),
|
||||
PATH(false, false),
|
||||
SPAWN(false, false, true, ConnectionType.Closed),
|
||||
SPAWN_PATH(false, false, true, ConnectionType.Path),
|
||||
SPAWN_EXTENSION(false, false, false, ConnectionType.Closed),
|
||||
PATH(false, false, false, ConnectionType.Path),
|
||||
;
|
||||
|
||||
private final boolean global;
|
||||
private final boolean createBackup;
|
||||
private final boolean cannotDelete;
|
||||
private final ConnectionType connectionType;
|
||||
|
||||
public enum ConnectionType {
|
||||
Closed,
|
||||
Path,
|
||||
Water,
|
||||
Global
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,10 +205,10 @@ public class PasteBuilder {
|
||||
}
|
||||
|
||||
public EditSession run() {
|
||||
if (pastPoint == null) {
|
||||
throw new IllegalStateException("pastePoint is null");
|
||||
if (pastPoint != null || minPoint != null) {
|
||||
return FlatteningWrapper.impl.paste(this);
|
||||
}
|
||||
return FlatteningWrapper.impl.paste(this);
|
||||
throw new IllegalStateException("pastePoint is null");
|
||||
}
|
||||
|
||||
public interface ClipboardProvider {
|
||||
|
||||
Reference in New Issue
Block a user