aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java3
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java10
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKey.java7
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKeyPlacement.java12
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonLever.java11
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonMechanic.java6
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java16
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java9
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggered.java4
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggering.java4
10 files changed, 82 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
index b8891a19..06ca7877 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
@@ -1,5 +1,6 @@
package kr.syeyoung.dungeonsguide.dungeon.data;
+import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonMechanic;
import kr.syeyoung.dungeonsguide.roomedit.valueedit.ActuallyClonable;
import lombok.Getter;
import lombok.Setter;
@@ -33,4 +34,6 @@ public class DungeonRoomInfo implements Serializable {
private String processorId = "default";
private Map<String, Object> properties = new HashMap<String, Object>();
+
+ private Map<String, DungeonMechanic> mechanics = new HashMap<String, DungeonMechanic>();
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
new file mode 100644
index 00000000..01f001e0
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
@@ -0,0 +1,10 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet;
+import lombok.Data;
+
+@Data
+public class DungeonDoor implements Triggered {
+ private OffsetPointSet offsetPointSet = new OffsetPointSet();
+ private Triggering triggering;
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKey.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKey.java
new file mode 100644
index 00000000..15ca98dd
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKey.java
@@ -0,0 +1,7 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+
+public class DungeonKey implements DungeonMechanic {
+ private OffsetPoint key;
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKeyPlacement.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKeyPlacement.java
new file mode 100644
index 00000000..e2f20ba3
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKeyPlacement.java
@@ -0,0 +1,12 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+import lombok.Data;
+
+@Data
+public class DungeonKeyPlacement implements DungeonMechanic, Triggering {
+ private OffsetPoint keySlot;
+ private DungeonKey dungeonKey;
+
+ private Triggered triggered;
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonLever.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonLever.java
new file mode 100644
index 00000000..d52982ad
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonLever.java
@@ -0,0 +1,11 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+import lombok.Data;
+
+@Data
+public class DungeonLever implements DungeonMechanic {
+ private OffsetPoint lever = new OffsetPoint(0,0,0);
+
+ private Triggered triggered;
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonMechanic.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonMechanic.java
new file mode 100644
index 00000000..2af93795
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonMechanic.java
@@ -0,0 +1,6 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet;
+
+public interface DungeonMechanic {
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java
new file mode 100644
index 00000000..4c3974fb
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java
@@ -0,0 +1,16 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+@Data
+public class DungeonSecret implements DungeonMechanic {
+ private OffsetPoint secretPoint = new OffsetPoint(0,0,0);
+ private SecretType secretType = SecretType.CHEST;
+
+ public static enum SecretType {
+ BAT, CHEST, ITEM_DROP
+ }
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java
new file mode 100644
index 00000000..e233c2fb
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java
@@ -0,0 +1,9 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet;
+import lombok.Data;
+
+@Data
+public class DungeonWeakWall implements DungeonMechanic {
+ OffsetPointSet weakWalls = new OffsetPointSet();
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggered.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggered.java
new file mode 100644
index 00000000..d32a76e4
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggered.java
@@ -0,0 +1,4 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+public interface Triggered extends DungeonMechanic{
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggering.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggering.java
new file mode 100644
index 00000000..7d535d37
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggering.java
@@ -0,0 +1,4 @@
+package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+
+public interface Triggering extends DungeonMechanic {
+}