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.java1
-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/DungeonSecret.java38
-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
9 files changed, 38 insertions, 58 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 06ca7877..a57e33b7 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
@@ -1,7 +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;
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
deleted file mode 100644
index 01f001e0..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index 15ca98dd..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKey.java
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index e2f20ba3..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonKeyPlacement.java
+++ /dev/null
@@ -1,12 +0,0 @@
-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
deleted file mode 100644
index d52982ad..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonLever.java
+++ /dev/null
@@ -1,11 +0,0 @@
-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/DungeonSecret.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java
index 4c3974fb..06992387 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonSecret.java
@@ -1,16 +1,54 @@
package kr.syeyoung.dungeonsguide.dungeon.mechanics;
+import kr.syeyoung.dungeonsguide.DungeonsGuide;
import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.init.Blocks;
+import net.minecraft.tileentity.TileEntityChest;
+import net.minecraft.util.BlockPos;
@Data
public class DungeonSecret implements DungeonMechanic {
private OffsetPoint secretPoint = new OffsetPoint(0,0,0);
private SecretType secretType = SecretType.CHEST;
+ public SecretStatus getSecretStatus(DungeonRoom dungeonRoom) {
+ if (secretType == SecretType.CHEST) {
+ BlockPos pos = secretPoint.getBlockPos(dungeonRoom);
+ IBlockState blockState = dungeonRoom.getContext().getWorld().getBlockState(pos);
+ if (blockState.getBlock() == Blocks.air) {
+ return SecretStatus.DEFINITELY_NOT;
+ } else if (blockState.getBlock() != Blocks.chest && blockState.getBlock() != Blocks.trapped_chest) {
+ return SecretStatus.ERROR;
+ } else {
+ TileEntityChest chest = (TileEntityChest) dungeonRoom.getContext().getWorld().getTileEntity(pos);
+ if (chest.numPlayersUsing > 0) {
+ return SecretStatus.FOUND;
+ } else{
+ return SecretStatus.CREATED;
+ }
+ }
+ } else {
+ return SecretStatus.NOT_SURE;
+ }
+ }
+
public static enum SecretType {
BAT, CHEST, ITEM_DROP
}
+
+ public static enum SecretStatus {
+ DEFINITELY_NOT, NOT_SURE, CREATED, FOUND, ERROR
+ }
+
+ public DungeonSecret clone() throws CloneNotSupportedException {
+ DungeonSecret dungeonSecret = new DungeonSecret();
+ dungeonSecret.secretPoint = (OffsetPoint) secretPoint.clone();
+ dungeonSecret.secretType = secretType;
+ return dungeonSecret;
+ }
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java
deleted file mode 100644
index e233c2fb..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonWeakWall.java
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index d32a76e4..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggered.java
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index 7d535d37..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/Triggering.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package kr.syeyoung.dungeonsguide.dungeon.mechanics;
-
-public interface Triggering extends DungeonMechanic {
-}