diff --git a/src/main/java/com/comandante/creeper/server/command/admin/BuildCommand.java b/src/main/java/com/comandante/creeper/server/command/admin/BuildCommand.java index 7fc6965d8f80d9fe21cfb3d2044ee3a99167f133..a3f84e1823fec3e35a0abbce1df1389a4d03788f 100644 --- a/src/main/java/com/comandante/creeper/server/command/admin/BuildCommand.java +++ b/src/main/java/com/comandante/creeper/server/command/admin/BuildCommand.java @@ -13,6 +13,7 @@ import com.comandante.creeper.world.Coords; import com.comandante.creeper.world.FloorModel; import com.comandante.creeper.world.MapMatrix; import com.comandante.creeper.world.MapsManager; +import com.comandante.creeper.world.RemoteExit; import com.comandante.creeper.world.Room; import com.comandante.creeper.world.RoomManager; import com.comandante.creeper.world.RoomModel; @@ -26,6 +27,7 @@ import org.jboss.netty.channel.MessageEvent; import java.util.Arrays; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.UUID; public class BuildCommand extends Command { @@ -109,26 +111,29 @@ public class BuildCommand extends Command { utils.write(playerId, "Error! There is already a room to the West."); } } else if (desiredBuildDirection.equalsIgnoreCase("u") | desiredBuildDirection.equalsIgnoreCase("up")) { + Integer newRoomId = findRoomId(); - Integer floorId = findFloorId(); - FloorModel floorModel = new FloorModel(); - floorModel.setId(floorId); - floorModel.setRawMatrixCsv(Integer.toString(newRoomId)); - floorModel.setName(UUID.randomUUID().toString()); + getGameManager().getMapsManager().getFloorMatrixMaps().get(currentRoom.getFloorId()) + .addRemote(currentRoom.getRoomId(), new RemoteExit(RemoteExit.Direction.UP, newRoomId)); + Integer newFloorId = findFloorId(); + FloorModel newFloorModel = new FloorModel(); + newFloorModel.setId(newFloorId); + newFloorModel.setRawMatrixCsv(Integer.toString(newRoomId) + "d" + currentRoom.getRoomId()); + newFloorModel.setName(UUID.randomUUID().toString()); BasicRoomBuilder basicRoomBuilder = new BasicRoomBuilder(); basicRoomBuilder.addArea(Area.DEFAULT); basicRoomBuilder.setRoomId(newRoomId); basicRoomBuilder.setRoomDescription("Newly created room. Set a new description with the desc command."); basicRoomBuilder.setRoomTitle("Default Title, change with title command"); - basicRoomBuilder.setFloorId(floorId); + basicRoomBuilder.setFloorId(newFloorId); basicRoomBuilder.setDownId(Optional.of(currentRoom.getRoomId())); currentRoom.setUpId(Optional.of(newRoomId)); BasicRoom basicRoom = basicRoomBuilder.createBasicRoom(); getGameManager().getEntityManager().addEntity(basicRoom); Iterator<RoomModel> transform = Iterators.transform(Sets.newHashSet(basicRoom).iterator(), WorldExporter.getRoomModels()); - floorModel.setRoomModels(Sets.newHashSet(transform)); - getGameManager().getFloorManager().addFloor(floorModel.getId(), floorModel.getName()); - getGameManager().getMapsManager().addFloorMatrix(floorModel.getId(), MapMatrix.createMatrixFromCsv(floorModel.getRawMatrixCsv())); + newFloorModel.setRoomModels(Sets.newHashSet(transform)); + getGameManager().getFloorManager().addFloor(newFloorModel.getId(), newFloorModel.getName()); + getGameManager().getMapsManager().addFloorMatrix(newFloorModel.getId(), MapMatrix.createMatrixFromCsv(newFloorModel.getRawMatrixCsv())); getGameManager().getMapsManager().generateAllMaps(9, 9); // getGameManager().getMapsManager().drawMap(basicRoom.getRoomId(), new Coords(9, 9)); getGameManager().movePlayer(new PlayerMovement(player, currentRoom.getRoomId(), basicRoom.getRoomId(), null, "", "")); @@ -187,6 +192,16 @@ public class BuildCommand extends Command { if (mapMatrix.getWest(room.getRoomId()) > 0) { room.setWestId(Optional.of(mapMatrix.getWest(room.getRoomId()))); } + if (mapMatrix.getRemotes().containsKey(room.getRoomId())) { + Set<RemoteExit> remoteExits = mapMatrix.getRemotes().get(room.getRoomId()); + for (RemoteExit next : remoteExits) { + if (next.getDirection().equals(RemoteExit.Direction.UP)) { + room.setUpId(Optional.of(next.getRoomId())); + } else if (next.getDirection().equals(RemoteExit.Direction.DOWN)) { + room.setDownId(Optional.of(next.getRoomId())); + } + } + } } private synchronized Integer findRoomId() { diff --git a/src/main/java/com/comandante/creeper/world/MapMatrix.java b/src/main/java/com/comandante/creeper/world/MapMatrix.java index 51d47a5d81e04f2204f3ae7ea9b41fbee83eb3dd..acc30d40cd2d91fcab73fe92be91b07335bf8f78 100644 --- a/src/main/java/com/comandante/creeper/world/MapMatrix.java +++ b/src/main/java/com/comandante/creeper/world/MapMatrix.java @@ -3,23 +3,49 @@ package com.comandante.creeper.world; import com.google.common.base.Predicate; import com.google.common.collect.Iterators; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import com.google.common.collect.UnmodifiableIterator; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.Set; public class MapMatrix { private final List<List<Integer>> matrix; + private final Map<Integer, Set<RemoteExit>> remotes; private Coords max; - public MapMatrix(List<List<Integer>> matrix) { + public MapMatrix(List<List<Integer>> matrix, Map<Integer, Set<RemoteExit>> remotes) { this.matrix = matrix; + this.remotes = remotes; this.max = new Coords(matrix.size(), getMaxColumn()); } + public Map<Integer, Set<RemoteExit>> getRemotes() { + return remotes; + } + + public void addRemote(Integer roomId, RemoteExit exit) { + if (remotes.get(roomId) == null) { + remotes.put(roomId, Sets.newHashSet(exit)); + } else { + remotes.get(roomId).add(exit); + } + } + + private static void addRemote(Integer roomId, RemoteExit exit, Map<Integer, Set<RemoteExit>> remotes) { + if (remotes.get(roomId) == null) { + remotes.put(roomId, Sets.newHashSet(exit)); + } else { + remotes.get(roomId).add(exit); + } + } + public int getMaxRow() { return max.row; } @@ -138,12 +164,22 @@ public class MapMatrix { }; } + public String getCsv() { StringBuilder sb = new StringBuilder(); for (List<Integer> list : matrix) { for (Integer roomId : list) { if (!roomId.equals(0)) { sb.append(roomId); + if (remotes.containsKey(roomId)) { + for (RemoteExit exit : remotes.get(roomId)) { + if (exit.getDirection().equals(RemoteExit.Direction.UP)) { + sb.append("u").append(exit.getRoomId()); + } else if (exit.getDirection().equals(RemoteExit.Direction.DOWN)) { + sb.append("d").append(exit.getRoomId()); + } + } + } } sb.append(","); } @@ -152,22 +188,48 @@ public class MapMatrix { return sb.toString(); } + private static Integer getUp(String csvInputCell) { + String[] us = csvInputCell.split("u"); + if (us[1].matches(".*[a-zA-Z]+.*")) { + return Integer.valueOf(us[1].split("[a-zA-Z]")[0]); + } + return Integer.valueOf(us[1]); + } + + private static Integer getDown(String csvInputCell) { + String[] us = csvInputCell.split("d"); + if (us[1].matches(".*[a-zA-Z]+.*")) { + return Integer.valueOf(us[1].split("[a-zA-Z]")[0]); + } + return Integer.valueOf(us[1]); + } + public static MapMatrix createMatrixFromCsv(String mapCSV) { List<String> rows = Arrays.asList(mapCSV.split("\\r?\\n")); ArrayList<List<Integer>> rowsList = Lists.newArrayList(); + Map<Integer, Set<RemoteExit>> remotes = Maps.newHashMap(); for (String row : rows) { List<String> strings = Arrays.asList(row.split(",", -1)); List<Integer> data = Lists.newArrayList(); for (String string : strings) { if (!string.isEmpty()) { - data.add(Integer.parseInt(string)); + Integer roomId = Integer.parseInt(string.split("[a-zA-Z]")[0]); + if (string.contains("u")) { + Integer up = getUp(string); + addRemote(roomId, new RemoteExit(RemoteExit.Direction.UP, up), remotes); + } + if (string.contains("d")) { + Integer down = getDown(string); + addRemote(roomId, new RemoteExit(RemoteExit.Direction.DOWN, down), remotes); + } + data.add(roomId); } else { data.add(0); } } rowsList.add(data); } - return new MapMatrix(rowsList); + return new MapMatrix(rowsList, remotes); } private static MapMatrix getBlankMatrix(int maxRows, int maxColumns) { @@ -180,7 +242,7 @@ public class MapMatrix { roomOpts.add(0); } } - return new MapMatrix(lists); + return new MapMatrix(lists, Maps.<Integer, Set<RemoteExit>>newHashMap()); } public String renderMap(Integer roomId, RoomManager roomManager) { diff --git a/src/main/java/com/comandante/creeper/world/RemoteExit.java b/src/main/java/com/comandante/creeper/world/RemoteExit.java new file mode 100644 index 0000000000000000000000000000000000000000..8cc7b6edd70cd73357575eec6c7d4de4708f15c8 --- /dev/null +++ b/src/main/java/com/comandante/creeper/world/RemoteExit.java @@ -0,0 +1,24 @@ +package com.comandante.creeper.world; + +public class RemoteExit { + + public enum Direction { + UP, DOWN + } + + private final Direction direction; + private final Integer roomId; + + public RemoteExit(Direction direction, Integer roomId) { + this.direction = direction; + this.roomId = roomId; + } + + public Direction getDirection() { + return direction; + } + + public Integer getRoomId() { + return roomId; + } +} diff --git a/src/main/java/com/comandante/creeper/world/WorldExporter.java b/src/main/java/com/comandante/creeper/world/WorldExporter.java index e2f34c04fbd941757424822698c00f70db6434e2..72b29e2d2b912ea0ced62352bc9928860b38b9e9 100644 --- a/src/main/java/com/comandante/creeper/world/WorldExporter.java +++ b/src/main/java/com/comandante/creeper/world/WorldExporter.java @@ -76,7 +76,7 @@ public class WorldExporter { roomModelBuilder.setRoomId(room.getRoomId()); roomModelBuilder.setRoomTags(room.getRoomTags()); roomModelBuilder.setFloorId(room.getFloorId()); - for (Area area: room.getAreas()) { + for (Area area : room.getAreas()) { roomModelBuilder.addAreaName(area.getName()); } return roomModelBuilder.build(); @@ -97,7 +97,7 @@ public class WorldExporter { for (String tag : roomModel.getRoomTags()) { basicRoomBuilder.addTag(tag); } - for (String areaName: roomModel.getAreaNames()) { + for (String areaName : roomModel.getAreaNames()) { basicRoomBuilder.addArea(Area.getByName(areaName)); } configureExits(basicRoomBuilder, mapMatrix, roomModel.getRoomId()); @@ -123,6 +123,15 @@ public class WorldExporter { if (west > 0) { basicRoomBuilder.setWestId(Optional.of(west)); } + if (mapMatrix.getRemotes().containsKey(roomId)) { + for (RemoteExit exit : mapMatrix.getRemotes().get(roomId)) { + if (exit.getDirection().equals(RemoteExit.Direction.UP)) { + basicRoomBuilder.setUpId(Optional.of(exit.getRoomId())); + } else if (exit.getDirection().equals(RemoteExit.Direction.DOWN)) { + basicRoomBuilder.setDownId(Optional.of(exit.getRoomId())); + } + } + } } private void buildFloor(FloorModel floorModel) { @@ -132,8 +141,8 @@ public class WorldExporter { Iterator<List<Integer>> rows = matrixFromCsv.getRows(); while (rows.hasNext()) { List<Integer> row = rows.next(); - for (Integer roomId: row) { - if (roomId.equals(0)){ + for (Integer roomId : row) { + if (roomId.equals(0)) { continue; } BasicRoomBuilder basicRoomBuilder = new BasicRoomBuilder(); @@ -146,7 +155,7 @@ public class WorldExporter { rooms.add(basicRoomBuilder.createBasicRoom()); } } - for (Room r: rooms) { + for (Room r : rooms) { entityManager.addEntity(r); } floorManager.addFloor(floorModel.getId(), floorModel.getName()); diff --git a/world/new.json b/world/new.json new file mode 100644 index 0000000000000000000000000000000000000000..5aab2c1dd70f77e98ff406f1534b85d82a6fdaaf --- /dev/null +++ b/world/new.json @@ -0,0 +1,8 @@ +{ + "floorModelList": [ + { + "name": "main", + "id": 0, + "rawMatrixCsv": "0,1" +}] +} diff --git a/world/world.json b/world/world.json index a77bb3ad45fc6c72917c6c9f0f15652836c23fd1..d4f1f05ca7c3a3864dd7b35c800b7ab200fee22c 100644 --- a/world/world.json +++ b/world/world.json @@ -1,192 +1,89 @@ { "floorModelList": [ { - "name": "main", - "id": 0, - "rawMatrixCsv": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,46,45,44,43,42,41,40,39,38,37,36,35,34,33,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,47,,,,,,,,,,,,,32,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,49,48,,,,,,,,,,,,,31,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,,,,,,,,,,,,,,30,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,51,,21,20,19,18,,,,,,,,,29,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,13,12,11,10,9,8,22,23,24,25,26,27,28,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,14,15,16,17,,7,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,6,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,2,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,3,1,4,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,58,59,60,61,62,,5,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,64,65,66,,,,,,,,,,,\n", + "name": "25c32e75-8326-46c9-a203-f9c0b06a7b02", + "id": 2, + "rawMatrixCsv": "18,\n17,\n16,\n15,\n14,\n13d3,\n", "roomModels": [ { - "roomId": 49, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 2, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 38, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 34, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 50, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 4, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 56, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 43, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 23, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 63, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 10, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 16, + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] }, { "roomId": 18, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 31, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] }, { - "roomId": 16, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 15, + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] }, { - "roomId": 33, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 13, + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] }, { - "roomId": 40, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 14, + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] }, { - "roomId": 62, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 17, + "floorId": 2, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ - "newbie_zone" + "default" ] - }, + } + ] + }, + { + "name": "main", + "id": 0, + "rawMatrixCsv": ",2u3,,\n,1,,\n", + "roomModels": [ { - "roomId": 19, + "roomId": 2, "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 21, + "roomId": 1, "floorId": 0, "roomDescription": "This is a blank Description.\nWords should go here, ideally.", "roomTitle": "This is a blank title.", @@ -194,12 +91,19 @@ "areaNames": [ "newbie_zone" ] - }, + } + ] + }, + { + "name": "cdd3abb9-66b4-4310-a14c-b6ee5c0fbba2", + "id": 1, + "rawMatrixCsv": "9,8,7,6,,\n10,,,5,,\n11,12,3d2u13,4,,\n", + "roomModels": [ { - "roomId": 26, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 12, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" @@ -207,39 +111,9 @@ }, { "roomId": 6, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 42, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 14, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 7, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" @@ -247,69 +121,29 @@ }, { "roomId": 5, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 11, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 51, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 27, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 22, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 53, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 8, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 64, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 9, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" @@ -317,349 +151,49 @@ }, { "roomId": 3, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 47, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 11, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 32, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 4, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 24, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 10, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone" ] }, { - "roomId": 15, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 36, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 37, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 66, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 46, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 59, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 45, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 30, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 13, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 1, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 20, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 65, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 44, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 8, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 9, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 25, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 41, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 52, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 55, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 60, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 61, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 28, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 58, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 12, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 57, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 54, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 29, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 35, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 39, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 48, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", - "roomTags": [], - "areaNames": [ - "newbie_zone" - ] - }, - { - "roomId": 17, - "floorId": 0, - "roomDescription": "This is a blank Description.\nWords should go here, ideally.", - "roomTitle": "This is a blank title.", + "roomId": 7, + "floorId": 1, + "roomDescription": "Newly created room. Set a new description with the desc command.", + "roomTitle": "Default Title, change with title command", "roomTags": [], "areaNames": [ "newbie_zone"