/** * Generates the starting piece and adds it to the structure. If the dungeon does not one, a * random piece is selected. */ protected StructureDungeonPieceInst generateStartPiece(Random rand) { StructureDungeonPiece startPiece = dungeon.getStartingPiece().orElseGet(() -> selectNextPiece(rand)).getRandomPiece(rand); return addPiece( startPiece, Pos.at( -startPiece.size.sizeX / 2, dungeon.boundingBox.y2 / 2 - startPiece.size.sizeY / 2, -startPiece.size.sizeZ)); }
public StructureDungeonGenerator(StructureDungeon<?> dungeon) { this.dungeon = dungeon; this.generated = new WeightedList<>(dungeon.getPieceAmountRange().max); }