aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data
diff options
context:
space:
mode:
authorsyeyoung <42869671+cyoung06@users.noreply.github.com>2020-11-23 11:39:30 +0900
committersyeyoung <42869671+cyoung06@users.noreply.github.com>2020-11-23 11:39:30 +0900
commit17b3b9ce29495b554d38c1de4af38904be0fcc23 (patch)
tree117e3c2a4d2ab1f2a3a770527a22b533f647a45d /src/main/java/kr/syeyoung/dungeonsguide/dungeon/data
parent46a86f18ebd62a3771ca4fcb7d1cf17f69b80c73 (diff)
downloadSkyblock-Dungeons-Guide-17b3b9ce29495b554d38c1de4af38904be0fcc23.tar.gz
Skyblock-Dungeons-Guide-17b3b9ce29495b554d38c1de4af38904be0fcc23.tar.bz2
Skyblock-Dungeons-Guide-17b3b9ce29495b554d38c1de4af38904be0fcc23.zip
room data!
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon/data')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonDoor.java37
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoom.java53
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java21
3 files changed, 21 insertions, 90 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonDoor.java
deleted file mode 100644
index 4dea9cdb..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonDoor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package kr.syeyoung.dungeonsguide.dungeon.data;
-
-import com.google.common.collect.Sets;
-import lombok.Getter;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.util.BlockPos;
-import net.minecraft.world.World;
-
-import java.util.Set;
-
-@Getter
-public class DungeonDoor {
- private final World w;
- private final BlockPos position;
- private boolean exist = true;
- private boolean isZDir;
-
- private static final Set<Block> legalBlocks = Sets.newHashSet(Blocks.coal_block, Blocks.barrier, Blocks.monster_egg, Blocks.air, Blocks.hardened_clay);
-
-
- public DungeonDoor(World world, BlockPos pos) {
- this.w = world;
- this.position = pos;
- for (int x = -1; x<=1; x++)
- for (int y = -1; y<=1; y++)
- for (int z = -1; z<=1; z++) {
- BlockPos pos2 = pos.add(x,y,z);
- Block block = world.getChunkFromBlockCoords(pos2).getBlock(pos2);
- if (!legalBlocks.contains(block)) exist = false;
- }
- if (exist) {
- BlockPos ZCheck = pos.add(0,0,2);
- isZDir = world.getChunkFromBlockCoords(ZCheck).getBlock(ZCheck) == Blocks.air;
- }
- }
-}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoom.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoom.java
deleted file mode 100644
index 5d79b119..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoom.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package kr.syeyoung.dungeonsguide.dungeon.data;
-
-import com.google.common.collect.Sets;
-import kr.syeyoung.dungeonsguide.dungeon.DungeonContext;
-import lombok.Getter;
-import net.minecraft.util.BlockPos;
-
-import javax.vecmath.Vector2d;
-import java.awt.*;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-@Getter
-public class DungeonRoom {
- private final List<Point> unitPoints;
- private final short shape;
- private final byte color;
-
- private final BlockPos min;
-
- private final DungeonContext context;
-
- private final List<DungeonDoor> doors = new ArrayList<DungeonDoor>();
-
- public DungeonRoom(List<Point> points, short shape, byte color, BlockPos min, DungeonContext context) {
- this.unitPoints = points;
- this.shape = shape;
- this.color = color;
- this.min = min;
- this.context = context;
- buildDoors();
- }
-
- private static final Set<Vector2d> directions = Sets.newHashSet(new Vector2d(0,16), new Vector2d(0, -16), new Vector2d(16, 0), new Vector2d(-16 , 0));
-
- private void buildDoors() {
- Set<BlockPos> positions = new HashSet<BlockPos>();
- for (Point p:unitPoints) {
- BlockPos pos = context.getMapProcessor().roomPointToWorldPoint(p).add(16,0,16);
- for (Vector2d vector2d : directions){
- BlockPos doorLoc = pos.add(vector2d.x, 0, vector2d.y);
- if (positions.contains(doorLoc)) positions.remove(doorLoc);
- else positions.add(doorLoc);
- }
- }
-
- for (BlockPos door : positions) {
- doors.add(new DungeonDoor(context.getWorld(), door));
- }
- }
-}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
new file mode 100644
index 00000000..c3d0a65d
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/DungeonRoomInfo.java
@@ -0,0 +1,21 @@
+package kr.syeyoung.dungeonsguide.dungeon.data;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.UUID;
+
+@Getter
+@Setter
+public class DungeonRoomInfo {
+
+ private transient boolean registered;
+
+ private short shape;
+ private byte color;
+
+ private int[][] blocks;
+
+ private UUID uuid;
+ private String name;
+}