diff options
author | syeyoung <42869671+cyoung06@users.noreply.github.com> | 2020-11-23 11:39:30 +0900 |
---|---|---|
committer | syeyoung <42869671+cyoung06@users.noreply.github.com> | 2020-11-23 11:39:30 +0900 |
commit | 17b3b9ce29495b554d38c1de4af38904be0fcc23 (patch) | |
tree | 117e3c2a4d2ab1f2a3a770527a22b533f647a45d /src/main/java/kr/syeyoung/dungeonsguide/dungeon/data | |
parent | 46a86f18ebd62a3771ca4fcb7d1cf17f69b80c73 (diff) | |
download | Skyblock-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')
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; +} |