diff --git a/src/main/java/org/dimdev/dimdoors/pockets/virtual/VirtualSingularPocket.java b/src/main/java/org/dimdev/dimdoors/pockets/virtual/VirtualSingularPocket.java index dc8b363a..465e1b87 100644 --- a/src/main/java/org/dimdev/dimdoors/pockets/virtual/VirtualSingularPocket.java +++ b/src/main/java/org/dimdev/dimdoors/pockets/virtual/VirtualSingularPocket.java @@ -13,7 +13,6 @@ import org.dimdev.dimdoors.pockets.virtual.selection.ConditionalSelector; import java.util.function.Supplier; - // TODO: do something about getting correct Pocket sizes public abstract class VirtualSingularPocket implements VirtualPocket { public static final Registry> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry>(RegistryKey.ofRegistry(new Identifier("dimdoors", "virtual_pocket_type")), Lifecycle.stable())).buildAndRegister(); @@ -51,14 +50,11 @@ public abstract class VirtualSingularPocket implements VirtualPocket { public abstract String getKey(); - public interface VirtualSingularPocketType { VirtualSingularPocketType ID_REFERENCE = register(new Identifier("dimdoors", IdReference.KEY), IdReference::new); VirtualSingularPocketType TAG_REFERENCE = register(new Identifier("dimdoors", TagReference.KEY), TagReference::new); - VirtualSingularPocketType DEPTH_DEPENDENT_SELECTOR = register(new Identifier("dimdoors", ConditionalSelector.KEY), ConditionalSelector::new); - VirtualSingularPocket fromTag(CompoundTag tag); CompoundTag toTag(CompoundTag tag); @@ -66,11 +62,11 @@ public abstract class VirtualSingularPocket implements VirtualPocket { static void register() { } - static VirtualSingularPocketType register(Identifier id, Supplier constructor) { + static VirtualSingularPocketType register(Identifier id, Supplier factory) { return Registry.register(REGISTRY, id, new VirtualSingularPocketType() { @Override public VirtualSingularPocket fromTag(CompoundTag tag) { - return constructor.get().fromTag(tag); + return factory.get().fromTag(tag); } @Override diff --git a/src/main/resources/data/dimdoors/pockets/generators/custom/mob_prison.json b/src/main/resources/data/dimdoors/pockets/generators/custom/mob_prison.json new file mode 100644 index 00000000..db8a8f04 --- /dev/null +++ b/src/main/resources/data/dimdoors/pockets/generators/custom/mob_prison.json @@ -0,0 +1,21 @@ +{ + "type": "dimdoors:schematic", + "id": "v2/custom/mob_prison", + "modifiers": [ + { + "type": "dimdoors:rift_data", + "ids": [0], + "rift_data": "rift_data/pocket_entrance" + }, + { + "type": "dimdoors:rift_data", + "ids": [1], + "rift_data": "rift_data/available_link" + }, + { + "type": "dimdoors:rift_data", + "ids": [2], + "rift_data": "rift_data/available_link" + } + ] +} diff --git a/src/main/resources/data/dimdoors/pockets/generators/custom/rising_hand.json b/src/main/resources/data/dimdoors/pockets/generators/custom/rising_hand.json new file mode 100644 index 00000000..4a8e46d5 --- /dev/null +++ b/src/main/resources/data/dimdoors/pockets/generators/custom/rising_hand.json @@ -0,0 +1,11 @@ +{ + "type": "dimdoors:schematic", + "id": "v2/custom/rising_hand", + "modifiers": [ + { + "type": "dimdoors:rift_data", + "ids": [0], + "rift_data": "rift_data/pocket_entrance" + } + ] +} diff --git a/src/main/resources/data/dimdoors/pockets/generators/custom/waiting_room.json b/src/main/resources/data/dimdoors/pockets/generators/custom/waiting_room.json new file mode 100644 index 00000000..57943283 --- /dev/null +++ b/src/main/resources/data/dimdoors/pockets/generators/custom/waiting_room.json @@ -0,0 +1,11 @@ +{ + "type": "dimdoors:schematic", + "id": "v2/custom/waiting_room", + "modifiers": [ + { + "type": "dimdoors:rift_data", + "ids": [0], + "rift_data": "rift_data/pocket_entrance" + } + ] +} diff --git a/src/main/resources/data/dimdoors/pockets/groups/dungeon.json b/src/main/resources/data/dimdoors/pockets/groups/dungeon.json index 9d76d8aa..f8c1c452 100644 --- a/src/main/resources/data/dimdoors/pockets/groups/dungeon.json +++ b/src/main/resources/data/dimdoors/pockets/groups/dungeon.json @@ -1,4 +1,18 @@ -{ - "id": "custom/purpur_hallway", - "type": "dimdoors:id" -} +[ + { + "id": "custom/purpur_hallway", + "type": "dimdoors:id" + }, + { + "id": "custom/waiting_room", + "type": "dimdoors:id" + }, + { + "id": "custom/mob_prison", + "type": "dimdoors:id" + }, + { + "id": "custom/rising_hand", + "type": "dimdoors:id" + } +] diff --git a/src/main/resources/data/dimdoors/pockets/json/rift_data/available_link.json b/src/main/resources/data/dimdoors/pockets/json/rift_data/available_link.json new file mode 100644 index 00000000..39ef4be4 --- /dev/null +++ b/src/main/resources/data/dimdoors/pockets/json/rift_data/available_link.json @@ -0,0 +1,13 @@ +{ + "destination": { + "type": "dimdoors:available_link", + "newRiftWeight": 1, + "weightMaximum": 100, + "coordFactor": 1, + "positiveDepthFactor": 80, + "negativeDepthFactor": 10000, + "acceptedGroups": [0], + "noLink": false, + "noLinkBack": false + } +} diff --git a/src/main/resources/data/dimdoors/pockets/json/rift_data/pocket_entrance.json b/src/main/resources/data/dimdoors/pockets/json/rift_data/pocket_entrance.json index 8a33b3d4..8923082c 100644 --- a/src/main/resources/data/dimdoors/pockets/json/rift_data/pocket_entrance.json +++ b/src/main/resources/data/dimdoors/pockets/json/rift_data/pocket_entrance.json @@ -6,4 +6,4 @@ "weight": 1.0, "type": "dimdoors:pocket_entrance" } -} \ No newline at end of file +} diff --git a/src/main/resources/data/dimdoors/pockets/json/rift_data/public_entrance.json b/src/main/resources/data/dimdoors/pockets/json/rift_data/public_entrance.json index bde6a6db..f21cdfda 100644 --- a/src/main/resources/data/dimdoors/pockets/json/rift_data/public_entrance.json +++ b/src/main/resources/data/dimdoors/pockets/json/rift_data/public_entrance.json @@ -2,4 +2,4 @@ "destination": { "type": "dimdoors:public_pocket" } -} \ No newline at end of file +} diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/mob_prison.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/mob_prison.schem new file mode 100644 index 00000000..d2885a20 Binary files /dev/null and b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/mob_prison.schem differ diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/rising_hand.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/rising_hand.schem new file mode 100644 index 00000000..e8aca2e8 Binary files /dev/null and b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/rising_hand.schem differ diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/waiting_room.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/waiting_room.schem new file mode 100644 index 00000000..8d50e9f6 Binary files /dev/null and b/src/main/resources/data/dimdoors/pockets/schematic/v2/custom/waiting_room.schem differ