Merge 'origin/1.12-WIP-Dungeons', fix conflicts and update to new destination system

This commit is contained in:
Runemoro 2018-01-17 15:58:19 -05:00
commit 86971a9871
9 changed files with 341 additions and 278 deletions

View file

@ -18,8 +18,8 @@ public final class Config {
public static File configurationFolder;
@Getter private static int pocketGridSize = 32;
@Getter private static int maxPocketSize = 15;
@Getter private static int privatePocketSize = 3;
@Getter private static int publicPocketSize = 2;
@Getter private static int privatePocketSize = 2;
@Getter private static int publicPocketSize = 1;
@Getter private static boolean loadAllSchematics = false;
@Getter private static int baseDim = 684;

View file

@ -9,6 +9,7 @@ import org.dimdev.dimdoors.shared.tileentities.TileEntityEntranceRift;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import org.dimdev.dimdoors.shared.rifts.destinations.PocketEntranceDestination;
public class BlockDimensionalDoorTransient extends BlockDimensionalDoor { // TODO: convert to a more general entrances block (like nether portals)
@ -29,7 +30,7 @@ public class BlockDimensionalDoorTransient extends BlockDimensionalDoor { // TOD
@Override
public boolean isCollidable() {
return false;
return true;
}
@Override
@ -41,6 +42,7 @@ public class BlockDimensionalDoorTransient extends BlockDimensionalDoor { // TOD
@Override
public void setupRift(TileEntityEntranceRift rift) {
// TODO
PocketEntranceDestination destination = PocketEntranceDestination.builder().build();
}
@Override

View file

@ -28,14 +28,17 @@ public class PocketTemplate {
@Getter private final int size; // size in chunks (n*n chunks)
@Getter private final int minDepth;
@Getter private final int maxDepth;
private final float[] weights; // weight per-level
@Getter private final int baseWeight;
//private final float[] weights; // weight per-level
public float getWeight(int depth) {
if (depth < 0) return 100; // TODO: get rid of this later
/*if (depth < 0) return 100; // TODO: get rid of this line later
if (maxDepth - minDepth + 1 != weights.length) throw new IllegalStateException("This PocketTemplate wasn't set up correctly!");
if (depth < minDepth) return 0;
if (depth > maxDepth) return weights[weights.length - 1];
return weights[depth - minDepth];
return weights[depth - minDepth];*/
return baseWeight;
// TODO: make this actually dependend on the depth
}
public void place(Pocket pocket) {

View file

@ -190,12 +190,8 @@ public class SchematicHandler { // TODO: make this more general (not dimdoors-re
}
int minDepth = variation.get("minDepth").getAsInt();
int maxDepth = variation.get("maxDepth").getAsInt();
JsonArray weightsJsonArray = variation.get("weights").getAsJsonArray();
float[] weights = new float[weightsJsonArray.size()];
for (int j = 0; j < weightsJsonArray.size(); j++) {
weights[j] = weightsJsonArray.get(j).getAsFloat();
}
PocketTemplate pocketTemplate = new PocketTemplate(directory, variantName, variationSize, minDepth, maxDepth, weights);
int baseWeight = variation.get("baseWeight").getAsInt();
PocketTemplate pocketTemplate = new PocketTemplate(directory, variantName, variationSize, minDepth, maxDepth, baseWeight);
pocketTemplates.add(pocketTemplate);
}

View file

@ -1,11 +1,14 @@
package org.dimdev.dimdoors.shared.tools;
import java.util.Arrays;
import java.util.Collections;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.*;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
@ -15,7 +18,13 @@ import org.dimdev.dimdoors.shared.blocks.BlockFabric;
import org.dimdev.dimdoors.shared.blocks.ModBlocks;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import net.minecraft.block.BlockDoor;
import net.minecraft.init.Blocks;
import org.dimdev.dimdoors.shared.rifts.destinations.AvailableLinkDestination;
import org.dimdev.dimdoors.shared.rifts.registry.LinkProperties;
import org.dimdev.dimdoors.shared.tileentities.TileEntityEntranceRift;
/**
* @author Robijnvogel
@ -30,9 +39,11 @@ public final class SchematicConverter {
stateMap.put("dimdoors:Fabric of RealityPerm", ModBlocks.FABRIC.getDefaultState().withProperty(BlockFabric.TYPE, BlockFabric.EnumType.ANCIENT));
stateMap.put("dimdoors:transientDoor", ModBlocks.TRANSIENT_DIMENSIONAL_DOOR.getDefaultState());
stateMap.put("dimdoors:Warp Door", ModBlocks.WARP_DIMENSIONAL_DOOR.getDefaultState());
stateMap.put("minecraft:iron_door", ModBlocks.DIMENSIONAL_DOOR.getDefaultState());
stateMap.put("minecraft:wooden_door", ModBlocks.WARP_DIMENSIONAL_DOOR.getDefaultState());
}
public static Schematic convertSchematic(NBTTagCompound nbt, String name) { //@todo, maybe make this a separate class, so values can be final so they HAVE TO be set in a newly designed constructor?
public static Schematic convertSchematic(NBTTagCompound nbt, String name) {
Schematic schematic = new Schematic();
schematic.version = 1; //already the default value
@ -54,7 +65,7 @@ public final class SchematicConverter {
IBlockState blockstate;
// Get the correct block state
if (blockString.startsWith("dimdoors")) {
if (blockString.startsWith("dimdoors") || blockString.equals("minecraft:iron_door") || blockString.equals("minecraft:wooden_door")) {
blockstate = stateMap.get(blockString);
} else {
blockstate = ForgeRegistries.BLOCKS.getValue(new ResourceLocation(blockString)).getDefaultState();
@ -90,8 +101,9 @@ public final class SchematicConverter {
block = ModBlocks.TRANSIENT_DIMENSIONAL_DOOR;
break;
}
if (id != 0 && block.getRegistryName().toString().equals("minecraft:air"))
if (id != 0 && block.getRegistryName().toString().equals("minecraft:air")) {
throw new RuntimeException("Change conversion code!");
}
schematic.pallette.add(block.getDefaultState());
palletteMap.put(id, currentPalletteIndex);
blockIntArray[i] = currentPalletteIndex;
@ -100,6 +112,26 @@ public final class SchematicConverter {
}
}
NBTTagList tileEntitiesNBT = (NBTTagList) nbt.getTag("TileEntities");
for (int i = 0; i < tileEntitiesNBT.tagCount(); i++) {
NBTTagCompound tileEntityNBT = tileEntitiesNBT.getCompoundTagAt(i);
switch (tileEntityNBT.getString("id")) {
case "TileEntityDimDoor":
case "TileEntityRift":
continue;
case "Sign":
tileEntityNBT.setString("Text1", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text1"))));
tileEntityNBT.setString("Text2", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text2"))));
tileEntityNBT.setString("Text3", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text3"))));
tileEntityNBT.setString("Text4", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text4"))));
break;
default:
break;
}
tileEntityNBT.setString("id", translateId(tileEntityNBT.getString("id")).toString());
schematic.tileEntities.add(tileEntityNBT);
}
byte[] dataIntArray = nbt.getByteArray("Data");
schematic.blockData = new int[schematic.width][schematic.height][schematic.length];
for (int x = 0; x < schematic.width; x++) {
@ -118,6 +150,59 @@ public final class SchematicConverter {
//DimDoors.log.info("New blockstate detected. Original blockInt = " + blockInt + " and baseState is " + baseState);
blockInt = schematic.pallette.size() - 1;
}
if (baseState.getBlock().equals(ModBlocks.DIMENSIONAL_DOOR) || baseState.getBlock().equals(ModBlocks.WARP_DIMENSIONAL_DOOR)) {
//DimDoors.log.info("Door found: " + baseState.getBlock().getUnlocalizedName());
if (additionalState.getProperties().get(BlockDoor.HALF).equals(BlockDoor.EnumDoorHalf.UPPER)) {
TileEntityEntranceRift rift = new TileEntityEntranceRift();
rift.setPos(new BlockPos(x, y, z));
rift.setProperties(LinkProperties.builder()
.groups(new HashSet<>(Arrays.asList(0, 1)))
.linksRemaining(1).build());
if (baseState.equals(ModBlocks.DIMENSIONAL_DOOR)) {
rift.setDestination(AvailableLinkDestination.builder()
.acceptedGroups(Collections.singleton(0))
.coordFactor(1)
.negativeDepthFactor(10000)
.positiveDepthFactor(80)
.weightMaximum(100)
.noLink(false)
.newRiftWeight(1).build());
} else { //if (baseState.equals(ModBlocks.WARP_DIMENSIONAL_DOOR))
IBlockState baseStateTwoDown = schematic.pallette.get(schematic.blockData[x][y - 2][z]);
if (baseStateTwoDown.getBlock().equals(Blocks.SANDSTONE)) {
rift.setDestination(AvailableLinkDestination.builder()
.acceptedGroups(Collections.singleton(0))
.coordFactor(1)
.negativeDepthFactor(Double.MIN_VALUE)
.positiveDepthFactor(Double.POSITIVE_INFINITY)
.weightMaximum(100)
.noLink(false)
.newRiftWeight(1).build());
//change the sandstone to the block below it.
if (y > 2) {
schematic.blockData[x][y - 2][z] = schematic.blockData[x][y - 3][z];
} else {
DimDoors.log.error("Someone placed a door on a sandstone block at the bottom of a schematic. This causes problems and should be remedied. Schematic name: " + schematic.schematicName);
}
} else {
rift.setDestination(AvailableLinkDestination.builder()
.acceptedGroups(Collections.singleton(0))
.coordFactor(1)
.negativeDepthFactor(80)
.positiveDepthFactor(10000)
.weightMaximum(100)
.noLink(false)
.newRiftWeight(1).build());
}
}
schematic.tileEntities.add(rift.serializeNBT());
}
}
} else { // if this is ancient fabric
blockInt = schematic.pallette.indexOf(baseState);
}
@ -128,29 +213,6 @@ public final class SchematicConverter {
}
schematic.paletteMax = schematic.pallette.size() - 1;
NBTTagList tileEntitiesNBT = (NBTTagList) nbt.getTag("TileEntities");
for (int i = 0; i < tileEntitiesNBT.tagCount(); i++) {
NBTTagCompound tileEntityNBT = tileEntitiesNBT.getCompoundTagAt(i);
switch (tileEntityNBT.getString("id")) {
case "TileEntityDimDoor":
case "TileEntityRift":
continue;
case "Sign":
tileEntityNBT.setString("Text1", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text1"))));
tileEntityNBT.setString("Text2", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text2"))));
tileEntityNBT.setString("Text3", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text3"))));
tileEntityNBT.setString("Text4", ITextComponent.Serializer.componentToJson(new TextComponentString(tileEntityNBT.getString("Text4"))));
break;
case "Chest":
// TODO
break;
default:
break;
}
tileEntityNBT.setString("id", translateId(tileEntityNBT.getString("id")).toString());
schematic.tileEntities.add(tileEntityNBT);
}
// TODO: entities (and replace end portal frame with monoliths)
return schematic;

View file

@ -6,120 +6,120 @@
"variantName": "ComplexHall_SK-CourtyardAmbush_Open_100",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-Intersection_Open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-SoulWastes_Open_100",
"size": 5,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-Starfall_Open_100",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-TheCauldron_Open_100",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Maze_SK-BrimstoneMines_Open_80",
"size": 6,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Maze_SK-QuartzfoldCave_Open_40",
"size": 5,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Maze_SK-SwirlsUponSwirls_Open_40",
"size": 5,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Maze_SK-Tangle_Open_80",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-AnvilValley_Open_100",
"size": 5,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-Arena_Open_100",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-DarkPathLeft_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-DarkPathRight_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-DiamondRoom_Open_100",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-LongBridge_Open_100",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-SpiralStairsDown_Open_100",
"size": 0,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-TheFurnace_Open_100",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
}
]
}

View file

@ -6,666 +6,666 @@
"variantName": "ComplexHall_Balgor0-CrumbledHall_Closed_75",
"size": 2,
"minDepth": 1,
"maxDepth": 8,
"weights": [10, 10, 10, 10, 10, 10, 10, 10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_Cere-JumpPass_Open_75",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_buggyTopEntry1_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_Cere-PuzzleWall_Open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_Cere-TransferTunnel_Closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_exitRuinsWithHiddenDoor_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_hallwayHiddenTreasure_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_largeBrokenHall_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_mediumPillarStairs_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_pitStairs_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_ruinsO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-AnchoredDescent_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-HallwayHiddenTreasure-B_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-HiddenStairs_Open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-LostGarden_Open_40",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "ComplexHall_SK-RuinsOhNo_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_smallBranchWithExit_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_smallRotundaWithExit_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "complexHall_tntPuzzleTrap_closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_azersDungeonO_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "DeadEnd_Balgor0-ArrowHall_Closed_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_brokenPillarsO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "DeadEnd_Cere-FloatingAltar_Open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_diamondTowerTemple1_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_fallingTrapO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_hiddenStaircaseO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_lavaTrapO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_randomTree_open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "DeadEnd_SK-EyesOfTricksters_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "DeadEnd_SK-FarAwayInTheDark_Open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "DeadEnd_SK-UnstableDesert_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_smallDesert_open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_smallHiddenTowerO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_smallPond_open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_smallSilverfishRoom_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "deadEnd_tntTrapO_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "exit_exitCube_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "exit_lockingExitHall_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Exit_SK-HotSuspense_Open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Exit_SK-LockingExitTrap_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "exit_smallExitPrison_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Exit_XombyCraft-RopeBridge_Open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_4WayBasicHall_closed_200",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_4WayHallExit_closed_200",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_Balgor0-OmniMaze_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_Cere-GreatHall_Open_40",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_doorTotemRuins_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_fortRuins_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_hallwayTrapRooms1_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_longDoorHallway_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-Claustrophobia_Open_40",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-FractalCage_Open_40",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-HeartOfDisorder_Open_50",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-RandomSnow_Open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-RandomSwamp_Open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Hub_SK-TheNexus_Open_40",
"size": 3,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "hub_smallMultilevelMaze_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "maze_smallMaze1_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_collapsedSingleTunnel1_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_simpleDropHall_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_simpleSmallT1_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_simpleStairsDown_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_simpleStairsUp_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_singleStraightHall1_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-LeftDownStairs_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-LeftUpPath_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-RightDownStairs_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-RightUpPath_Open_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-SpiralHallway_Open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-UTurnLeft_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-UTurnRight_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-WatchedForkLeft_Closed_80",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "SimpleHall_SK-WatchedForkRight_Closed_80",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_smallSimpleLeft_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "simpleHall_smallSimpleRight_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_fakeTNTTrap_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_hallwayPitFallTrap_closed_200",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_lavaPyramid_open_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonFallRuins_open_75",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonFloorHall_closed_150",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonFloorPlatform_closed_100",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonFloorPlatform2_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonHallway_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_pistonSmasherHall_closed_100",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_raceTheTNTHall_closed_1",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-FakeTNTTrap-B_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-NicolesTower_Open_50",
"size": 0,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-RaceTheLight_Closed_50",
"size": 1,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-RestlessCorridor_Open_40",
"size": 4,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-SimpleLeftTrap_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-SimpleRightTrap_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-TrappedStairsDown_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-TrappedStairsUp_Closed_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "Trap_SK-UTrapRight_Open_50",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
},
{
"variantName": "trap_wallFallcomboPistonHall_closed_200",
"size": 2,
"minDepth": 1,
"maxDepth": 1,
"weights": [10]
"maxDepth": 1000,
"baseWeight": 10
}
]
}

View file

@ -7,56 +7,56 @@
"size": 0,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_1",
"size": 1,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_2",
"size": 2,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_3",
"size": 3,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_4",
"size": 4,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_5",
"size": 5,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_6",
"size": 6,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "private_pocket_7",
"size": 7,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
}
]
}

View file

@ -7,56 +7,56 @@
"size": 0,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_1",
"size": 1,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_2",
"size": 2,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_3",
"size": 3,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_4",
"size": 4,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_5",
"size": 5,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_6",
"size": 6,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
},
{
"variantName": "public_pocket_7",
"size": 7,
"minDepth": 0,
"maxDepth": 0,
"weights": [100]
"baseWeight": 1
}
]
}