From 5d9abe6690c8f6bdf72084c0b04e91793f52c066 Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 12:04:16 +0530 Subject: [PATCH 1/8] Bring back the old limbo gen Changes to be committed modified: src/main/java/org/dimdev/dimdoors/client/LimboSkyProperties.java modified: src/main/java/org/dimdev/dimdoors/client/ModRendering.java modified: src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java modified: src/main/java/org/dimdev/dimdoors/world/ModBiomes.java modified: src/main/java/org/dimdev/dimdoors/world/ModDimensions.java --- .../dimdoors/client/LimboSkyProperties.java | 5 -- .../dimdev/dimdoors/client/ModRendering.java | 2 +- .../org/dimdev/dimdoors/fluid/ModFluids.java | 2 +- .../org/dimdev/dimdoors/world/ModBiomes.java | 6 +- .../dimdev/dimdoors/world/ModDimensions.java | 57 +++++++++---------- 5 files changed, 33 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/client/LimboSkyProperties.java b/src/main/java/org/dimdev/dimdoors/client/LimboSkyProperties.java index 503948c1..12ec257f 100644 --- a/src/main/java/org/dimdev/dimdoors/client/LimboSkyProperties.java +++ b/src/main/java/org/dimdev/dimdoors/client/LimboSkyProperties.java @@ -19,9 +19,4 @@ public class LimboSkyProperties extends SkyProperties { public boolean useThickFog(int camX, int camY) { return true; } - - @Override - public float[] getSkyColor(float skyAngle, float tickDelta) { - return new float[]{0, 0, 0, 0}; - } } diff --git a/src/main/java/org/dimdev/dimdoors/client/ModRendering.java b/src/main/java/org/dimdev/dimdoors/client/ModRendering.java index dd4dbdd6..49724ad0 100644 --- a/src/main/java/org/dimdev/dimdoors/client/ModRendering.java +++ b/src/main/java/org/dimdev/dimdoors/client/ModRendering.java @@ -35,7 +35,7 @@ public class ModRendering { OpenWorlds.registerSkyRenderer(ModDimensions.LIMBO_TYPE_KEY, new LimboSkyProvider()); OpenWorlds.registerCloudRenderer(ModDimensions.LIMBO_TYPE_KEY, (minecraftClient, matrixStack, v, v1, v2, v3) -> { }); - + OpenWorlds.registerSkyProperty(ModDimensions.LIMBO_TYPE_KEY, LimboSkyProperties.INSTANCE); setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, new Identifier("dimdoors:eternal_fluid")); } diff --git a/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java b/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java index 8a9379bc..f1a76654 100644 --- a/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java +++ b/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java @@ -9,6 +9,6 @@ public class ModFluids { public static final FlowableFluid FLOWING_ETERNAL_FLUID = register("dimdoors:flowing_eternal_fluid", new EternalFluid.Flowing()); private static <T extends Fluid> T register(String string, T fluid) { - return (T) Registry.register(Registry.FLUID, string, fluid); + return Registry.register(Registry.FLUID, string, fluid); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java index 8054cab2..83005e11 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java @@ -67,12 +67,12 @@ public final class ModBiomes { .depth(0.1f) .downfall(0.0f) .effects(new BiomeEffects.Builder() - .fogColor(0x000000) - .waterColor(0) + .fogColor(0x404040) + .waterColor(0x101010) .foliageColor(0) .waterFogColor(0) .moodSound(new BiomeMoodSound(ModSoundEvents.CREEPY, 6000, 8, 2.0)) - .skyColor(0x000000) + .skyColor(0x404040) .grassColor(0) .build()) .generationSettings(new GenerationSettings.Builder() diff --git a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java index c3a547ec..4ab67adb 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java @@ -83,39 +83,38 @@ public final class ModDimensions { Optional.of(StructuresConfig.DEFAULT_STRONGHOLD), ImmutableMap.of() ); -// GenerationShapeConfig limboShapeConfig = new GenerationShapeConfig( -// 178, -// new NoiseSamplingConfig( -// 1.000009876543, -// 2.9999876545678, -// 60, -// 240 -// ), -// new SlideConfig( -// -10, -// 3, -// 0 -// ), -// new SlideConfig( -// -30, -// 0, -// 0 -// ), -// 1, -// 4, -// 1, -// -0.26875, -// false, -// true, -// false, -// false -// ); - GenerationShapeConfig limboShapeConfig = new GenerationShapeConfig(256, new NoiseSamplingConfig(0.9999999814507745D, 0.9999999814507745D, 80.0D, 160.0D), new SlideConfig(-10, 3, 0), new SlideConfig(-30, 0, 0), 1, 2, 1.0D, -0.46875D, true, true, false, true); + GenerationShapeConfig limboShapeConfig = new GenerationShapeConfig( + 178, + new NoiseSamplingConfig( + 1.000009876543, + 2.9999876545678, + 60, + 240 + ), + new SlideConfig( + -10, + 3, + 0 + ), + new SlideConfig( + -30, + 0, + 0 + ), + 1, + 4, + 1, + -0.26875, + false, + true, + false, + false + ); LIMBO_CHUNK_GENERATOR_SETTINGS = ChunkGeneratorSettingsAccessor.invokeInit( limboStructuresConfig, limboShapeConfig, ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), - ModBlocks.ETERNAL_FLUID.getDefaultState(), + ModBlocks.BLACK_ANCIENT_FABRIC.getDefaultState(), -10, 5, 8, From 0b0c4d5d1682ae0081edf971af33f2d0290e25a3 Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 13:08:17 +0530 Subject: [PATCH 2/8] Fixed the limbo sky color Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java --- src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java b/src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java index e18b5880..3728573e 100644 --- a/src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java +++ b/src/main/java/org/dimdev/dimdoors/client/LimboSkyProvider.java @@ -9,6 +9,6 @@ public class LimboSkyProvider extends CustomSkyProvider { private static final Identifier SUN_RENDER_PATH = new Identifier("dimdoors:textures/other/limbo_sun.png"); public LimboSkyProvider() { - super(MOON_RENDER_PATH, SUN_RENDER_PATH, new Vec3i(255, 255, 255)); + super(MOON_RENDER_PATH, SUN_RENDER_PATH, new Vec3i(25, 25, 25)); } } \ No newline at end of file From b86fa9971869373cd600ed619b81d22061412a1c Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 13:58:03 +0530 Subject: [PATCH 3/8] Limbo gateway Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/mixin/DefaultBiomeFeaturesMixin.java modified: src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java renamed: src/main/java/org/dimdev/dimdoors/world/feature/gateway/BaseGateway.java -> src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java new file: src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGatewayFeature.java deleted: src/main/java/org/dimdev/dimdoors/world/feature/gateway/SandstonePillarsGateway.java deleted: src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGateway.java deleted: src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeature.java deleted: src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeatureConfig.java deleted: src/main/java/org/dimdev/dimdoors/world/feature/gateway/TwoPillarsGateway.java renamed: src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SandstonePillarsV2Gateway.java -> src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java renamed: src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2Gateway.java -> src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java renamed: src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeature.java -> src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java renamed: src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeatureConfig.java -> src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java new file: src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java --- .../mixin/DefaultBiomeFeaturesMixin.java | 2 +- .../dimdoors/world/feature/ModFeatures.java | 28 ++++--- .../{BaseGateway.java => Gateway.java} | 13 ++-- .../world/feature/gateway/LimboGateway.java | 24 +++--- .../feature/gateway/LimboGatewayFeature.java | 21 +++++ .../gateway/SandstonePillarsGateway.java | 21 ----- .../feature/gateway/SchematicGateway.java | 78 ------------------- .../gateway/SchematicGatewayFeature.java | 27 ------- .../SchematicGatewayFeatureConfig.java | 25 ------ .../feature/gateway/TwoPillarsGateway.java | 37 --------- .../SandstonePillarsV2Gateway.java | 2 +- .../{v2 => schematic}/SchematicV2Gateway.java | 11 +-- .../SchematicV2GatewayFeature.java | 3 +- .../SchematicV2GatewayFeatureConfig.java | 2 +- .../schematic/TwoPillarsV2Gateway.java | 37 +++++++++ 15 files changed, 100 insertions(+), 231 deletions(-) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/{BaseGateway.java => Gateway.java} (59%) create mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGatewayFeature.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/SandstonePillarsGateway.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGateway.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeature.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeatureConfig.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/TwoPillarsGateway.java rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/{v2 => schematic}/SandstonePillarsV2Gateway.java (89%) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/{v2 => schematic}/SchematicV2Gateway.java (90%) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/{v2 => schematic}/SchematicV2GatewayFeature.java (88%) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/{v2 => schematic}/SchematicV2GatewayFeatureConfig.java (93%) create mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java diff --git a/src/main/java/org/dimdev/dimdoors/mixin/DefaultBiomeFeaturesMixin.java b/src/main/java/org/dimdev/dimdoors/mixin/DefaultBiomeFeaturesMixin.java index 0c77bad3..f01a81ae 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/DefaultBiomeFeaturesMixin.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/DefaultBiomeFeaturesMixin.java @@ -14,6 +14,6 @@ import net.minecraft.world.gen.feature.DefaultBiomeFeatures; public class DefaultBiomeFeaturesMixin { @Inject(method = "addDesertLakes", at = @At("RETURN")) private static void addGateway(GenerationSettings.Builder builder, CallbackInfo ci) { - builder.feature(GenerationStep.Feature.TOP_LAYER_MODIFICATION, ModFeatures.SANDSTONE_PILLARS_FEATURE_V2); + builder.feature(GenerationStep.Feature.TOP_LAYER_MODIFICATION, ModFeatures.SANDSTONE_PILLARS_FEATURE); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java b/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java index 3bf539f5..027f5c08 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java @@ -1,36 +1,40 @@ package org.dimdev.dimdoors.world.feature; import org.dimdev.dimdoors.ModConfig; -import org.dimdev.dimdoors.world.feature.gateway.v2.SandstonePillarsV2Gateway; -import org.dimdev.dimdoors.world.feature.gateway.v2.SchematicV2Gateway; -import org.dimdev.dimdoors.world.feature.gateway.v2.SchematicV2GatewayFeature; -import org.dimdev.dimdoors.world.feature.gateway.v2.SchematicV2GatewayFeatureConfig; +import org.dimdev.dimdoors.world.feature.gateway.LimboGatewayFeature; +import org.dimdev.dimdoors.world.feature.gateway.schematic.SandstonePillarsV2Gateway; +import org.dimdev.dimdoors.world.feature.gateway.schematic.SchematicV2Gateway; +import org.dimdev.dimdoors.world.feature.gateway.schematic.SchematicV2GatewayFeature; +import org.dimdev.dimdoors.world.feature.gateway.schematic.SchematicV2GatewayFeatureConfig; import net.minecraft.util.Identifier; import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; import net.minecraft.world.gen.feature.ConfiguredFeature; import net.minecraft.world.gen.feature.ConfiguredFeatures; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; import net.minecraft.world.gen.feature.Feature; import net.fabricmc.loader.api.FabricLoader; public final class ModFeatures { - public static final Feature<SchematicV2GatewayFeatureConfig> GATEWAY_FEATURE_V2 = Registry.register(Registry.FEATURE, new Identifier("dimdoors", "gateway_v2"), new SchematicV2GatewayFeature(SchematicV2GatewayFeatureConfig.CODEC)); - public static final SchematicV2Gateway SANDSTONE_PILLARS_GATEWAY_V2; - public static final ConfiguredFeature<?, ?> SANDSTONE_PILLARS_FEATURE_V2; + public static final Feature<SchematicV2GatewayFeatureConfig> SCHEMATIC_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, new Identifier("dimdoors", "schematic_gateway"), new SchematicV2GatewayFeature(SchematicV2GatewayFeatureConfig.CODEC)); + public static final Feature<DefaultFeatureConfig> LIMBO_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, new Identifier("dimdoors", "limbo_gateway"), new LimboGatewayFeature()); + public static final SchematicV2Gateway SANDSTONE_PILLARS_GATEWAY = new SandstonePillarsV2Gateway(); + public static final ConfiguredFeature<?, ?> SANDSTONE_PILLARS_FEATURE; + public static final ConfiguredFeature<?, ?> LIMBO_GATEWAY_CONFIGURED_FEATURE; public static void init() { - SANDSTONE_PILLARS_GATEWAY_V2.init(); - Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier("dimdoors", "sandstone_pillars_v2"), SANDSTONE_PILLARS_FEATURE_V2); + SANDSTONE_PILLARS_GATEWAY.init(); + Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier("dimdoors", "sandstone_pillars"), SANDSTONE_PILLARS_FEATURE); + Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier("dimdoors", "limbo_gateway"), LIMBO_GATEWAY_CONFIGURED_FEATURE); } static { - SANDSTONE_PILLARS_GATEWAY_V2 = new SandstonePillarsV2Gateway(); - int gatewayChance = FabricLoader.getInstance().isDevelopmentEnvironment() ? 20 : ModConfig.INSTANCE.getWorldConfig().gatewayGenChance; - SANDSTONE_PILLARS_FEATURE_V2 = GATEWAY_FEATURE_V2.configure(new SchematicV2GatewayFeatureConfig(SchematicV2Gateway.SCHEMATIC_ID_MAP.get(SANDSTONE_PILLARS_GATEWAY_V2))) + SANDSTONE_PILLARS_FEATURE = SCHEMATIC_GATEWAY_FEATURE.configure(new SchematicV2GatewayFeatureConfig(SchematicV2Gateway.SCHEMATIC_ID_MAP.get(SANDSTONE_PILLARS_GATEWAY))) .decorate(ConfiguredFeatures.Decorators.SQUARE_TOP_SOLID_HEIGHTMAP .applyChance(gatewayChance)); + LIMBO_GATEWAY_CONFIGURED_FEATURE = LIMBO_GATEWAY_FEATURE.configure(DefaultFeatureConfig.INSTANCE).decorate(ConfiguredFeatures.Decorators.SQUARE_TOP_SOLID_HEIGHTMAP.applyChance(gatewayChance)); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/BaseGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java similarity index 59% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/BaseGateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java index b2900e9b..bb7ef6f3 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/BaseGateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java @@ -11,19 +11,18 @@ import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -public abstract class BaseGateway { - public void generate(StructureWorldAccess world, int x, int y, int z) { - } +public interface Gateway { + void generate(StructureWorldAccess world, BlockPos pos); - protected boolean isBiomeValid(RegistryKey<Biome> biome) { + default boolean isBiomeValid(RegistryKey<Biome> biome) { return this.getBiomes().contains(biome); } - public boolean isLocationValid(World world, int x, int y, int z) { - return this.isBiomeValid(BuiltinRegistries.BIOME.getKey(world.getBiome(new BlockPos(x, y, z))).orElseThrow(NullPointerException::new)); + default boolean isLocationValid(World world, BlockPos pos) { + return this.isBiomeValid(BuiltinRegistries.BIOME.getKey(world.getBiome(pos)).orElseThrow(NullPointerException::new)); } - public Set<RegistryKey<Biome>> getBiomes() { + default Set<RegistryKey<Biome>> getBiomes() { return ImmutableSet.of(); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java index 35f71af3..c822c450 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java @@ -9,30 +9,32 @@ import net.minecraft.util.math.Direction; import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.World; -public class LimboGateway extends BaseGateway { +public enum LimboGateway implements Gateway { + INSTANCE; + @Override - public void generate(StructureWorldAccess world, int x, int y, int z) { + public void generate(StructureWorldAccess world, BlockPos pos) { BlockState unravelledFabric = ModBlocks.UNRAVELLED_FABRIC.getDefaultState(); // Build the gateway out of Unraveled Fabric. Since nearly all the blocks in Limbo are of // that type, there is no point replacing the ground. - world.setBlockState(new BlockPos(x, y + 3, z + 1), unravelledFabric, 2); - world.setBlockState(new BlockPos(x, y + 3, z - 1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 3, 1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 3, -1), unravelledFabric, 2); // Build the columns around the door - world.setBlockState(new BlockPos(x, y + 2, z - 1), unravelledFabric, 2); - world.setBlockState(new BlockPos(x, y + 2, z + 1), unravelledFabric, 2); - world.setBlockState(new BlockPos(x, y + 1, z - 1), unravelledFabric, 2); - world.setBlockState(new BlockPos(x, y + 1, z + 1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 2, -1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 2, 1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 1, 1), unravelledFabric, 2); + world.setBlockState(pos.add(0, 1, 1), unravelledFabric, 2); - this.placePortal(world, new BlockPos(x, y + 1, z), Direction.NORTH); + this.placePortal(world, pos.add(0, 1, 0), Direction.NORTH); } private void placePortal(StructureWorldAccess world, BlockPos pos, Direction facing) { - // todo + world.setBlockState(pos, ModBlocks.DIMENSIONAL_PORTAL.getDefaultState(), 2); } @Override - public boolean isLocationValid(World world, int x, int y, int z) { + public boolean isLocationValid(World world, BlockPos pos) { return ModDimensions.isLimboDimension(world); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGatewayFeature.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGatewayFeature.java new file mode 100644 index 00000000..7540f5b6 --- /dev/null +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGatewayFeature.java @@ -0,0 +1,21 @@ +package org.dimdev.dimdoors.world.feature.gateway; + +import java.util.Random; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.StructureWorldAccess; +import net.minecraft.world.gen.chunk.ChunkGenerator; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import net.minecraft.world.gen.feature.Feature; + +public class LimboGatewayFeature extends Feature<DefaultFeatureConfig> { + public LimboGatewayFeature() { + super(DefaultFeatureConfig.CODEC); + } + + @Override + public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig featureConfig) { + LimboGateway.INSTANCE.generate(world, pos); + return true; + } +} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SandstonePillarsGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SandstonePillarsGateway.java deleted file mode 100644 index 531ff8f7..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SandstonePillarsGateway.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway; - -import java.util.Set; - -import com.google.common.collect.ImmutableSet; - -import net.minecraft.util.registry.BuiltinRegistries; -import net.minecraft.util.registry.RegistryKey; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeKeys; - -public class SandstonePillarsGateway extends SchematicGateway { - public SandstonePillarsGateway() { - super("sandstone_pillars"); - } - - @Override - public Set<RegistryKey<Biome>> getBiomes() { - return ImmutableSet.of( BiomeKeys.DESERT, BiomeKeys.DESERT_LAKES, BiomeKeys.DESERT_HILLS); - } -} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGateway.java deleted file mode 100644 index 4059d8b8..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGateway.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway; - -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; - -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.dimdev.dimcore.schematic.Schematic; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtIo; -import net.minecraft.world.StructureWorldAccess; - -public abstract class SchematicGateway extends BaseGateway { - private static final Logger LOGGER = LogManager.getLogger(); - private Schematic schematic; - public static final BiMap<SchematicGateway, String> SCHEMATIC_ID_MAP = HashBiMap.create(); - public static final BiMap<String, SchematicGateway> ID_SCHEMATIC_MAP = HashBiMap.create(); - - public SchematicGateway(String id) { - String schematicJarDirectory = "/data/dimdoors/gateways/"; - SCHEMATIC_ID_MAP.putIfAbsent(this, id); - ID_SCHEMATIC_MAP.putIfAbsent(id, this); - - //Initialising the possible locations/formats for the schematic file - InputStream schematicStream = DimensionalDoorsInitializer.class.getResourceAsStream(schematicJarDirectory + id + ".schem"); - - //determine which location to load the schematic file from (and what format) - DataInputStream schematicDataStream = null; - boolean streamOpened = false; - if (schematicStream != null) { - schematicDataStream = new DataInputStream(schematicStream); - streamOpened = true; - } else { - LOGGER.warn("Schematic '" + id + "' was not found in the jar or config directory, neither with the .schem extension, nor with the .schematic extension."); - } - - CompoundTag schematicNBT; - this.schematic = null; - if (streamOpened) { - try { - schematicNBT = NbtIo.readCompressed(schematicDataStream); - this.schematic = Schematic.fromTag(schematicNBT); - //PocketTemplate.replacePlaceholders(schematic); - schematicDataStream.close(); - } catch (IOException ex) { - LOGGER.error("Schematic file for " + id + " could not be read as a valid schematic NBT file.", ex); - } finally { - try { - schematicDataStream.close(); - } catch (IOException ex) { - LOGGER.error("Error occured while closing schematicDataStream", ex); - } - } - } - } - - @Override - public void generate(StructureWorldAccess world, int x, int y, int z) { - this.schematic.place(world, x, y, z); - this.generateRandomBits(world, x, y, z); - } - - /** - * Generates randomized portions of the gateway structure (e.g. rubble, foliage) - * - * @param world - the world in which to generate the gateway - * @param x - the x-coordinate at which to center the gateway; usually where the door is placed - * @param y - the y-coordinate of the block on which the gateway may be built - * @param z - the z-coordinate at which to center the gateway; usually where the door is placed - */ - protected void generateRandomBits(StructureWorldAccess world, int x, int y, int z) { - } -} \ No newline at end of file diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeature.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeature.java deleted file mode 100644 index b1baf3fd..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeature.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway; - -import java.util.Random; - -import com.mojang.serialization.Codec; - -import net.minecraft.block.AirBlock; -import net.minecraft.block.FallingBlock; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.gen.chunk.ChunkGenerator; -import net.minecraft.world.gen.feature.Feature; - -public class SchematicGatewayFeature extends Feature<SchematicGatewayFeatureConfig> { - public SchematicGatewayFeature(Codec<SchematicGatewayFeatureConfig> codec) { - super(codec); - } - - @Override - public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos blockPos, SchematicGatewayFeatureConfig config) { - if (world.getBlockState(blockPos).getBlock() instanceof AirBlock && world.getBlockState(blockPos.down()).getBlock() instanceof FallingBlock) { - config.getGateway().generate(world, blockPos.getX(), blockPos.getY(), blockPos.getZ()); - return true; - } - return false; - } -} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeatureConfig.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeatureConfig.java deleted file mode 100644 index b6fb15b0..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/SchematicGatewayFeatureConfig.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; - -import net.minecraft.world.gen.feature.FeatureConfig; - -public class SchematicGatewayFeatureConfig implements FeatureConfig { - public static final Codec<SchematicGatewayFeatureConfig> CODEC = RecordCodecBuilder.create((instance) -> { - return instance.group(Codec.STRING.fieldOf("id").forGetter((config) -> { - return config.gatewayId; - })).apply(instance, SchematicGatewayFeatureConfig::new); - }); - private final SchematicGateway gateway; - private final String gatewayId; - - public SchematicGateway getGateway() { - return this.gateway; - } - - public SchematicGatewayFeatureConfig(String gatewayId) { - this.gatewayId = gatewayId; - this.gateway = SchematicGateway.ID_SCHEMATIC_MAP.get(gatewayId); - } -} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/TwoPillarsGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/TwoPillarsGateway.java deleted file mode 100644 index 48835f14..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/TwoPillarsGateway.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway; - -import net.minecraft.block.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.StructureWorldAccess; - -public class TwoPillarsGateway extends SchematicGateway { - private static final int GATEWAY_RADIUS = 4; - - public TwoPillarsGateway() { - super("two_pillars"); - } - - @Override - protected void generateRandomBits(StructureWorldAccess world, int x, int y, int z) { - //Replace some of the ground around the gateway with bricks - for (int xc = -GATEWAY_RADIUS; xc <= GATEWAY_RADIUS; xc++) { - for (int zc = -GATEWAY_RADIUS; zc <= GATEWAY_RADIUS; zc++) { - //Check that the block is supported by an opaque block. - //This prevents us from building over a cliff, on the peak of a mountain, - //or the surface of the ocean or a frozen lake. - if (world.getBlockState(new BlockPos(x + xc, y - 1, z + zc)).getMaterial().isSolid()) { - //Randomly choose whether to place bricks or not. The math is designed so that the - //chances of placing a block decrease as we get farther from the gateway's center. - int i = Math.abs(xc) + Math.abs(zc); - if (i < world.getRandom().nextInt(2) + 3) { - //Place Stone Bricks - world.setBlockState(new BlockPos(x + xc, y, z + zc), Blocks.STONE_BRICKS.getDefaultState(), 2); - } else if (i < world.getRandom().nextInt(3) + 3) { - //Place Cracked Stone Bricks - world.setBlockState(new BlockPos(x + xc, y, z + zc), Blocks.CRACKED_STONE_BRICKS.getDefaultState(), 2); - } - } - } - } - } -} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SandstonePillarsV2Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java similarity index 89% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SandstonePillarsV2Gateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java index f1a67a4b..4c474639 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SandstonePillarsV2Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java @@ -1,4 +1,4 @@ -package org.dimdev.dimdoors.world.feature.gateway.v2; +package org.dimdev.dimdoors.world.feature.gateway.schematic; import java.util.Set; diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java similarity index 90% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2Gateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java index 6e91089a..584e93a6 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java @@ -1,4 +1,4 @@ -package org.dimdev.dimdoors.world.feature.gateway.v2; +package org.dimdev.dimdoors.world.feature.gateway.schematic; import java.io.DataInputStream; import java.io.IOException; @@ -9,7 +9,7 @@ import org.apache.logging.log4j.Logger; import org.dimdev.dimcore.schematic.v2.Schematic; import org.dimdev.dimcore.schematic.v2.SchematicPlacer; import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.world.feature.gateway.BaseGateway; +import org.dimdev.dimdoors.world.feature.gateway.Gateway; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -18,7 +18,7 @@ import net.minecraft.nbt.NbtIo; import net.minecraft.util.math.BlockPos; import net.minecraft.world.StructureWorldAccess; -public class SchematicV2Gateway extends BaseGateway { +public class SchematicV2Gateway implements Gateway { private static final Logger LOGGER = LogManager.getLogger(); private Schematic schematic; private final String id; @@ -63,11 +63,6 @@ public class SchematicV2Gateway extends BaseGateway { } } - @Override - public void generate(StructureWorldAccess world, int x, int y, int z) { - SchematicPlacer.place(this.schematic, world, new BlockPos(x, y, z)); - } - public void generate(StructureWorldAccess world, BlockPos pos) { SchematicPlacer.place(this.schematic, world, pos); } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeature.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java similarity index 88% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeature.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java index c8a34dd5..f08a7e0a 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeature.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java @@ -1,8 +1,7 @@ -package org.dimdev.dimdoors.world.feature.gateway.v2; +package org.dimdev.dimdoors.world.feature.gateway.schematic; import java.util.Random; -import org.dimdev.dimdoors.world.feature.gateway.SchematicGatewayFeatureConfig; import com.mojang.serialization.Codec; import net.minecraft.block.AirBlock; diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeatureConfig.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java similarity index 93% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeatureConfig.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java index a451330f..fafe445b 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/v2/SchematicV2GatewayFeatureConfig.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java @@ -1,4 +1,4 @@ -package org.dimdev.dimdoors.world.feature.gateway.v2; +package org.dimdev.dimdoors.world.feature.gateway.schematic; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java new file mode 100644 index 00000000..19e420e3 --- /dev/null +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java @@ -0,0 +1,37 @@ +//package org.dimdev.dimdoors.world.feature.gateway.v2; +// +//import net.minecraft.block.Blocks; +//import net.minecraft.util.math.BlockPos; +//import net.minecraft.world.StructureWorldAccess; +// +//public class TwoPillarsV2Gateway extends SchematicGateway { +// private static final int GATEWAY_RADIUS = 4; +// +// public TwoPillarsV2Gateway() { +// super("two_pillars"); +// } +// +// @Override +// protected void generateRandomBits(StructureWorldAccess world, BlockPos pos) { +// //Replace some of the ground around the gateway with bricks +// for (int xc = -GATEWAY_RADIUS; xc <= GATEWAY_RADIUS; xc++) { +// for (int zc = -GATEWAY_RADIUS; zc <= GATEWAY_RADIUS; zc++) { +// //Check that the block is supported by an opaque block. +// //This prevents us from building over a cliff, on the peak of a mountain, +// //or the surface of the ocean or a frozen lake. +// if (world.getBlockState(pos.add(xc, -1, zc)).getMaterial().isSolid()) { +// //Randomly choose whether to place bricks or not. The math is designed so that the +// //chances of placing a block decrease as we get farther from the gateway's center. +// int i = Math.abs(xc) + Math.abs(zc); +// if (i < world.getRandom().nextInt(2) + 3) { +// //Place Stone Bricks +// world.setBlockState(pos.add(xc, 0, zc), Blocks.STONE_BRICKS.getDefaultState(), 2); +// } else if (i < world.getRandom().nextInt(3) + 3) { +// //Place Cracked Stone Bricks +// world.setBlockState(pos.add(xc, 0, zc), Blocks.CRACKED_STONE_BRICKS.getDefaultState(), 2); +// } +// } +// } +// } +// } +//} From 3374b34e7aeb081826aaca6dcff5b2cb8b343db2 Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 14:12:40 +0530 Subject: [PATCH 4/8] It ain't 1.7 anymore Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/world/ModDimensions.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java --- .../dimdev/dimdoors/world/ModDimensions.java | 5 +++-- .../world/feature/gateway/Gateway.java | 6 ++---- .../world/feature/gateway/LimboGateway.java | 19 ++++++++++++++++--- .../gateway/schematic/SchematicV2Gateway.java | 4 ++-- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java index 4ab67adb..e84113b7 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java @@ -16,6 +16,7 @@ import net.minecraft.tag.BlockTags; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.RegistryKey; +import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.World; import net.minecraft.world.biome.source.BiomeSource; import net.minecraft.world.biome.source.FixedBiomeSource; @@ -60,8 +61,8 @@ public final class ModDimensions { return type == PERSONAL || type == PUBLIC || type == DUNGEON; } - public static boolean isLimboDimension(World world) { - return world.getRegistryKey() == LIMBO || world.getDimension() == LIMBO_TYPE || world == LIMBO_DIMENSION; + public static boolean isLimboDimension(StructureWorldAccess world) { + return world.getDimension() == LIMBO_TYPE || world == LIMBO_DIMENSION; } public static void init() { diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java index bb7ef6f3..a8438a06 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java @@ -18,11 +18,9 @@ public interface Gateway { return this.getBiomes().contains(biome); } - default boolean isLocationValid(World world, BlockPos pos) { + default boolean isLocationValid(StructureWorldAccess world, BlockPos pos) { return this.isBiomeValid(BuiltinRegistries.BIOME.getKey(world.getBiome(pos)).orElseThrow(NullPointerException::new)); } - default Set<RegistryKey<Biome>> getBiomes() { - return ImmutableSet.of(); - } + Set<RegistryKey<Biome>> getBiomes(); } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java index c822c450..4169d934 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java @@ -1,19 +1,27 @@ package org.dimdev.dimdoors.world.feature.gateway; +import java.util.Set; + import org.dimdev.dimdoors.block.ModBlocks; +import org.dimdev.dimdoors.world.ModBiomes; import org.dimdev.dimdoors.world.ModDimensions; +import com.google.common.collect.ImmutableSet; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; +import net.minecraft.util.registry.RegistryKey; import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.World; +import net.minecraft.world.biome.Biome; public enum LimboGateway implements Gateway { INSTANCE; @Override public void generate(StructureWorldAccess world, BlockPos pos) { + if (!this.isLocationValid(world, pos)) { + return; + } BlockState unravelledFabric = ModBlocks.UNRAVELLED_FABRIC.getDefaultState(); // Build the gateway out of Unraveled Fabric. Since nearly all the blocks in Limbo are of // that type, there is no point replacing the ground. @@ -29,12 +37,17 @@ public enum LimboGateway implements Gateway { this.placePortal(world, pos.add(0, 1, 0), Direction.NORTH); } + @Override + public boolean isLocationValid(StructureWorldAccess world, BlockPos pos) { + return ModDimensions.isLimboDimension(world); + } + private void placePortal(StructureWorldAccess world, BlockPos pos, Direction facing) { world.setBlockState(pos, ModBlocks.DIMENSIONAL_PORTAL.getDefaultState(), 2); } @Override - public boolean isLocationValid(World world, BlockPos pos) { - return ModDimensions.isLimboDimension(world); + public Set<RegistryKey<Biome>> getBiomes() { + return ImmutableSet.of(ModBiomes.LIMBO_KEY); } } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java index 584e93a6..5906d9e9 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java @@ -18,7 +18,7 @@ import net.minecraft.nbt.NbtIo; import net.minecraft.util.math.BlockPos; import net.minecraft.world.StructureWorldAccess; -public class SchematicV2Gateway implements Gateway { +public abstract class SchematicV2Gateway implements Gateway { private static final Logger LOGGER = LogManager.getLogger(); private Schematic schematic; private final String id; @@ -75,6 +75,6 @@ public class SchematicV2Gateway implements Gateway { * @param y - the y-coordinate of the block on which the gateway may be built * @param z - the z-coordinate at which to center the gateway; usually where the door is placed */ - protected void generateRandomBits(StructureWorldAccess world, int x, int y, int z) { + protected void generateRandomBits(StructureWorldAccess world, BlockPos pos) { } } From 88210b1965c94f0b62cfbe904b055cf21a9f1788 Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 14:19:23 +0530 Subject: [PATCH 5/8] Add feature to limbo Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/world/ModBiomes.java modified: src/main/java/org/dimdev/dimdoors/world/ModDimensions.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java modified: src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java --- .../java/org/dimdev/dimdoors/world/ModBiomes.java | 11 +++++++---- .../java/org/dimdev/dimdoors/world/ModDimensions.java | 6 +++++- .../dimdoors/world/feature/gateway/Gateway.java | 3 --- .../dimdoors/world/feature/gateway/LimboGateway.java | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java index 83005e11..64e369ad 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java @@ -4,6 +4,7 @@ import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.entity.ModEntityTypes; import org.dimdev.dimdoors.mixin.BuiltinBiomesAccessor; import org.dimdev.dimdoors.sound.ModSoundEvents; +import org.dimdev.dimdoors.world.feature.ModFeatures; import net.minecraft.block.Blocks; import net.minecraft.entity.SpawnGroup; @@ -16,6 +17,7 @@ import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeEffects; import net.minecraft.world.biome.GenerationSettings; import net.minecraft.world.biome.SpawnSettings; +import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.surfacebuilder.SurfaceBuilder; import net.minecraft.world.gen.surfacebuilder.TernarySurfaceConfig; @@ -34,10 +36,10 @@ public final class ModBiomes { Registry.register(BuiltinRegistries.BIOME, PERSONAL_WHITE_VOID_KEY.getValue(), PERSONAL_WHITE_VOID_BIOME); Registry.register(BuiltinRegistries.BIOME, PUBLIC_BLACK_VOID_KEY.getValue(), PUBLIC_BLACK_VOID_BIOME); Registry.register(BuiltinRegistries.BIOME, DUNGEON_DANGEROUS_BLACK_VOID_KEY.getValue(), DUNGEON_DANGEROUS_BLACK_VOID_BIOME); -// BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(LIMBO_BIOME), LIMBO_KEY); -// BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(PERSONAL_WHITE_VOID_BIOME), PERSONAL_WHITE_VOID_KEY); -// BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(PUBLIC_BLACK_VOID_BIOME), PUBLIC_BLACK_VOID_KEY); -// BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(DUNGEON_DANGEROUS_BLACK_VOID_BIOME), DUNGEON_DANGEROUS_BLACK_VOID_KEY); + BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(LIMBO_BIOME), LIMBO_KEY); + BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(PERSONAL_WHITE_VOID_BIOME), PERSONAL_WHITE_VOID_KEY); + BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(PUBLIC_BLACK_VOID_BIOME), PUBLIC_BLACK_VOID_KEY); + BuiltinBiomesAccessor.getIdMap().put(BuiltinRegistries.BIOME.getRawId(DUNGEON_DANGEROUS_BLACK_VOID_BIOME), DUNGEON_DANGEROUS_BLACK_VOID_KEY); } private static BiomeEffects createEffect(boolean white) { @@ -76,6 +78,7 @@ public final class ModBiomes { .grassColor(0) .build()) .generationSettings(new GenerationSettings.Builder() + .feature(GenerationStep.Feature.SURFACE_STRUCTURES, ModFeatures.LIMBO_GATEWAY_CONFIGURED_FEATURE) .surfaceBuilder(SurfaceBuilder.NETHER.method_30478(new TernarySurfaceConfig(ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.ETERNAL_FLUID.getDefaultState()))) .build()) .precipitation(Biome.Precipitation.NONE) diff --git a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java index e84113b7..82c384bb 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModDimensions.java @@ -61,10 +61,14 @@ public final class ModDimensions { return type == PERSONAL || type == PUBLIC || type == DUNGEON; } - public static boolean isLimboDimension(StructureWorldAccess world) { + public static boolean isLimbo(StructureWorldAccess world) { return world.getDimension() == LIMBO_TYPE || world == LIMBO_DIMENSION; } + public static boolean isLimboDimension(World world) { + return world.getRegistryKey() == LIMBO || world.getDimension() == LIMBO_TYPE || world == LIMBO_DIMENSION; + } + public static void init() { ServerLifecycleEvents.SERVER_STARTED.register(server -> { ModDimensions.LIMBO_TYPE = server.getRegistryManager().getDimensionTypes().get(LIMBO_TYPE_KEY); diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java index a8438a06..c620bbd0 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/Gateway.java @@ -2,13 +2,10 @@ package org.dimdev.dimdoors.world.feature.gateway; import java.util.Set; -import com.google.common.collect.ImmutableSet; - import net.minecraft.util.math.BlockPos; import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.RegistryKey; import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.World; import net.minecraft.world.biome.Biome; public interface Gateway { diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java index 4169d934..fd9fb1c3 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/LimboGateway.java @@ -39,7 +39,7 @@ public enum LimboGateway implements Gateway { @Override public boolean isLocationValid(StructureWorldAccess world, BlockPos pos) { - return ModDimensions.isLimboDimension(world); + return ModDimensions.isLimbo(world); } private void placePortal(StructureWorldAccess world, BlockPos pos, Direction facing) { From b204259fe189e4f423262affb05fbfa4d4f658d2 Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 14:30:46 +0530 Subject: [PATCH 6/8] Namespace support in old schematic command Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/command/SchematicCommand.java --- .../dimdoors/command/SchematicCommand.java | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/command/SchematicCommand.java b/src/main/java/org/dimdev/dimdoors/command/SchematicCommand.java index 9c830aec..942a332f 100644 --- a/src/main/java/org/dimdev/dimdoors/command/SchematicCommand.java +++ b/src/main/java/org/dimdev/dimdoors/command/SchematicCommand.java @@ -5,6 +5,7 @@ import java.io.InputStream; import org.dimdev.dimcore.schematic.Schematic; import org.dimdev.dimcore.schematic.SchematicConverter; +import org.dimdev.dimdoors.command.arguments.SchematicNamespaceArgumentType; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.StringArgumentType; @@ -19,28 +20,30 @@ public class SchematicCommand { public static void register(CommandDispatcher<ServerCommandSource> dispatcher) { dispatcher.register(literal("schematicold") .then(literal("place") - .then(argument("schematic_name", StringArgumentType.string()) - .executes(ctx -> { - SchematicConverter.reloadConversions(); - ServerPlayerEntity player = ctx.getSource().getPlayer(); - String id = StringArgumentType.getString(ctx, "schematic_name"); + .then(argument("namespace", new SchematicNamespaceArgumentType()) + .then(argument("schematic_name", StringArgumentType.string()) + .executes(ctx -> { + SchematicConverter.reloadConversions(); + ServerPlayerEntity player = ctx.getSource().getPlayer(); + String id = StringArgumentType.getString(ctx, "schematic_name"); + String ns = SchematicNamespaceArgumentType.getValue(ctx, "namespace"); + try (InputStream in = SchematicCommand.class.getResourceAsStream("/data/dimdoors/pockets/schematic/" + ns + "/" + id + ".schem")) { + Schematic.fromTag(NbtIo.readCompressed(in)) + .place( + player.world, + (int) player.getPos().x, + (int) player.getPos().y, + (int) player.getPos().z + ); + } catch (IOException e) { + e.printStackTrace(); + } - try (InputStream in = SchematicCommand.class.getResourceAsStream("/data/dimdoors/pockets/schematic/ruins/" + id + ".schem")) { - Schematic.fromTag(NbtIo.readCompressed(in)) - .place( - player.world, - (int) player.getPos().x, - (int) player.getPos().y, - (int) player.getPos().z - ); - } catch (IOException e) { - e.printStackTrace(); - } + System.out.println(id + " placed"); - System.out.println(id + " placed"); - - return 1; - } + return 1; + } + ) ) ) ) From 8169f5503458ec68dc695a2b67f401323eb0f8ac Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 15:12:48 +0530 Subject: [PATCH 7/8] Convert private pockets Changes to be committed: new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_0.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_1.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_2.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_3.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_4.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_5.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_6.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_7.schem --- .../schematic/v2/private/private_pocket_0.schem | Bin 0 -> 370 bytes .../schematic/v2/private/private_pocket_1.schem | Bin 0 -> 607 bytes .../schematic/v2/private/private_pocket_2.schem | Bin 0 -> 1040 bytes .../schematic/v2/private/private_pocket_3.schem | Bin 0 -> 1560 bytes .../schematic/v2/private/private_pocket_4.schem | Bin 0 -> 2728 bytes .../schematic/v2/private/private_pocket_5.schem | Bin 0 -> 4157 bytes .../schematic/v2/private/private_pocket_6.schem | Bin 0 -> 6036 bytes .../schematic/v2/private/private_pocket_7.schem | Bin 0 -> 8327 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_0.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_1.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_2.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_3.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_4.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_5.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_6.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_7.schem diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_0.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_0.schem new file mode 100644 index 0000000000000000000000000000000000000000..06dd3daff0d3181306777b5be875e6b1af249289 GIT binary patch literal 370 zcmV-&0ge72iwFP!000000PUAeOT$1AhNsznn3U3s9>qTp@ZzbEi&*erQ4p*jl(HtX z&0@NVn<*9lwMS37Yo$g{YCXg@19N!Z*`1m9I3Bp?VT@BwGGySL@dSx*z#jmh;X&(N zU@(g0G)hyQ_wHw0)8p7Ms$8auCu3W<5j>P?5~x&D?8iJ2L6Xi<`>|0mNKlZUW~c(e zlN|lb)-YPo$V_v7H)ED%-=9%uu(O;ok0s$)@LMfIQ>!uPOr^q5b3r{Wwb2-Z-7oLC z3MDG~_-9^0>jJf1)7o&Ld4g&}F?2oH8X)nA6KCKK`=>(WNS7}r3VdbosleBUpTV>_ zMmdQIx(wP!rp0oGx7`BwFiFEZD+6@)Vbh{kjQ@$1!7?nl3RVVx+Sw^0v+*}r8iVz9 zH~0xFgO$OO8!Q1<2FtMID!AbW*DhS>yq!;dMUo`uo)sNv3}s}`wl*{uml)XF4q(q@ Q-Q)qh0$QJK*)9(N0Db_j6aWAK literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_1.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_1.schem new file mode 100644 index 0000000000000000000000000000000000000000..88ebdc109a794daf6a53375aaf6416abf5cfe53b GIT binary patch literal 607 zcmb2|=3sz;w|6gQ-8K+mdvMtzS8Dpb-07<N6Vx@Hr0Hzvp32MidRJgmn*8ykzBxCw zWUFt#bq>jFrqZWn1<1mAydYpQRTy-T!Y5mfC;XD~?llbIYaei;~v<^r=x^^mmHe zetDIWnWsbJuKQO1`s!u!>-V8Iky|%~EsBcx5z^ta>Z#AwUcKc@S9C>&#uppwo(-NC z8uKD^Z<?vL%hgXMxxJs?zPmKX?8koNb=O|k+b7Ss@cFj!I`5U0fgR_2&-A=iE!i`v zYqOikuaFbRY`lf6e!l+glsakZzt82*qD`vK_vT*yC(UeCaW-qE_pBu)7005UICZxi zd;Zzn_2Q;~8*b**-Mbk-<8Qz9@BV8i|D4gDb~@;?%EHCdpQ-1a_n6<C@n_Mh&HCRA zC&meIwN~xg`aPiWV8Z<#hUSB|X)F>v?+ld>Boy@TG-s51^C%^}@nHY??_x}Q);`qZ zt61=0$B%nX4e}2f*tz<;WzDZj1JxQZ-En+g#tV|XQ5d|}kco#)`G9Om-u1zwsBk|s z51acr4g-lh$!-k?AIKR49r=AmpvINSYYk=pSKWOPletoL`^s921%HcY-o8FZ?&863 cXP2hjZ}l=UoWJnrnU`!*%h&bCl`${?0IugIIRF3v literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_2.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_2.schem new file mode 100644 index 0000000000000000000000000000000000000000..57dfb76eb2d501562d607bfcc4818012abeba499 GIT binary patch literal 1040 zcmb2|=3sz;x7W^RNr%g@KFIDDzRq=X>*-741{Lxj)Ko6GI&-xytLI2lIv?TuWTLjO z$4l>$tIxT%@IUGE@N^cRUcLJlYdw2f;d;C56pQZ79_sgX!|#?_^PX1I-Isg)u1V?n zTk*kO-^E`3nBT3ocaO|Eee>CG-(A$tzxDRZ?V~mCj@{iLdHd_pf6eoMms$3NKYyHN zz1A=M?JoQH{Cj1$FJG;>J$L=?I;*>PN*-6<Usrzj<=KCm-+lV~^68&#hyQ=?GdDMX z`rabzlDPc6k7cGlcU|xAyTy0<=jLWL+dXo}@^<F_ei>+;^L+O*&-j1Gw?8g=aqQ*& z{j)=@{_VT{uKwA-`xZXm_rE;0I&<ndv6q|E?_P=97JPfjWO4ub-~X<gUAJTJ-oKw0 zfA0VM^RD~z`OiMbXa1YDe)q#H)1{l$Y%7fFkG7ZV*xCE3_g|m=^!49Ts~?ZQt0*Zc zeOmc^ftp3%V<39Jv#|+8S6JjNcmNWT>yy?1OSL~PuUjDVtRh%Q=6In@|LJbwp8G!= zi>5qYsMQA2@pX^I!5?$wH6rC!C4n@=od>Fr*03Dqj^NOMrW`gdaN>Hn10!*DcXV{r zJhJrUmtSvw`nvz|%o%NY+i%3nEvwdVI}J?ba!Y=n|6O<8_j9hXef-(;7yra8-Ot$d LHt0*=bVddM;^6Ad literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_3.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_3.schem new file mode 100644 index 0000000000000000000000000000000000000000..41b43e7cc7eccc7bb7b40155ed1fddf0c76651f6 GIT binary patch literal 1560 zcmb2|=3sz;x7U5MqSGbX9_okHWwoEVmH3ivPg4VD3!7Dj$HEI=+6DZcF7|Ml81u7b z%DN@HHSao>PdT+@$A!QjUSFQHzGmYsdE>q5;anT_w?A(GEUGc}S^aa(+#2IG$1|nm z`S)+TmN$2c^?#cgThpJf4u5|8?YmF^^w+oF{c`*B-`|DBJ8$K+ef_*z{?8VPXRFV4 zZ$4XQuIoSja8=>9d;28Im!JN7`D2c)-m=SYkM6LH=6QYk<CjOT(jWiaU4H)C{jw|H zW!LNL-TQByckWjD_4^;wcFsEXy!+wvyIK4G-|UUt{XJ`|<n!H$hIi$|cK_Xcb4~5P z`S<0`K40B2^Iz%j`&s4tq|3wWpIzNwcqOmiHZRWS^tT5~YCl!XY5SZgmG<_>%f;&5 zN1s~M{(r~6v+n=l-RF1I{eOIWd;b5N-~B(cV)jP(y*;?*?%$&Sg4gdCetJ2#>`%eo zx%>B2-ASwedr`%6l8Wc0<M(_23->*?fTHUU*<ehdn0$lu0|d8@A+G_h@bM4E9gP1P ze_Z_iA<`eNW@}~n(VZaSv)>=yoPE4d27>xOyz44vwmG@kydP$O+{3$~&)F&_rRU4R zl-V5Gt$mL7gUb1PHZTWOw3LU>k$&JgZ*L{ksN)|w-mkMTKQP&*`ZL^G!F#cVc@657 z-=4v2Jg&TF_oF)u{-55Qh1uBWUIB94yeFd$>w7#JVxwt{(p(A8eioP|11tjr)v!N6 zEmFLJ#m=N9{reu5y?<C`UH>z~c<r*Q6_rI_KdiW0waaS$w6_QEmi<1NRA}k<d->+S Yue<-ge)jKc^>67Z6{ocJU1DYc0M*`7bpQYW literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_4.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_4.schem new file mode 100644 index 0000000000000000000000000000000000000000..5f917b1af32e8d7f8ad258a82b76bae7640a07e9 GIT binary patch literal 2728 zcmb2|=3sz;x0la%rLapLdpLQe=dqU)=IR}lo}tZgMopq1F~iZ|pCV7{_mwY|Y_BGN z=M?-NHzCe1?~u2|>cFIe)F-VqHTOR^M_pMt@A;YCKlG+O-@k8H<o!3>A79Pe`Qz%p zvb)>9ZvH!edTQnWq{?sa*>^wfe*Jj%>)pG5xA*`5a`j)`@6)S4fB*WWV2}0N{CL}c zAKDN9dsR{O_ftvv{=0j2+`KOrckf>9-h2CZSlY+N-&@!I_UPT)U%!0Xu)j7UeoyV6 z+`a#<Z`VJUU;XL--p8xA=l}m+ZgW@H{^vK@`1>;3zg|uJfBg63t3S7YFFWm?-?#kh ztGfCdcK77ppFdx=`|0xkU%&spe6`Rv_y5oG=li4P{Y~3j|0mz>T*aoE52wF=soEW> zr$0@;c3a->*MGO&*FA6l|I4R>iiqv^_f>y?_x}FRf4e__-(UOu_j~#J_;Y9UuRVS} zJ9p<DUHN~1d}@C8b<5jF&#N!0F8})U@#CjA<Nt5;n55zfMt?8tozByK_+f#C3?DKT z)3rLbLI*_%qF@J4`0fu8sEQ#x$#rE9H=-E>mNANXdnnnuz<(eAcJCGptM=}UIK1Ol z>+!M&^XlaFYEm#vxIVGlv<K*#Hx{F^GJK<<ft*%HLt`{FMoR`rnL3&mM)ShZ%nQ_P zXB1+zAKDM6T0j~*o|Bfy?|6RNeg2($v9&*6W?JVR|N8LJ$A^=j{ypD+{r1_SpASDB ieERUihP>y?cYl7K{`~yq&(CK+ogZ;r!2Df1I|Bgo@a|Xu literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_5.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_5.schem new file mode 100644 index 0000000000000000000000000000000000000000..3d184517a2a042639dc04c1502898f30768ac1d9 GIT binary patch literal 4157 zcmeHKZ%7ki9JWxhq%6uNW;+7K{yK_4VgH~nB0<BxR3B8LC^XS5(3#sV3fTv%kt?Ni zF6u)c3P%bpcXLbE93d)U%f`IZZMvyr+quoV+je)$KT&?zed}9yyl`+Y@9+2C^LyXt z_dGy*X4>Wx_&!-XgXfI8w5M!+ImTO^g(Y(*GNt?T7GED}J2xdxKmEMy$KES<7Iq#R zdWqB=f9mcmp3vta)^9DMS61>y^ii~UVhJO0Uspm8d0gamJ_QGBK|#=rP;%!-$p!t* zq~dnJ9FL>e>iBpd!J{!t5F=Cr&~(C&E4%%$-9a4!2Y+gSzFDKeG$^bx8D}ahjRr%k z5ln=`!6n*mr`<%@3)6ACHMmUC3s3^bbf97thV?@FQ;2ZEP%_Ey?Wxnsi6;Or+eSI8 zL7iS1fpD&-j)!pjaGxG(_i!Lf03J}Q1DBGK7`z(03d+gJ5G=24#gtTl(zYZU1V}I4 z1X5n<phi<~ChmbVL&)LgB4?z*9QV526iwJ5iICDwgK-Ce#wW#8bV{t}drK0Q?lDhO zQ@=d!=esS<J#^TCkz?<=BcTw`z!N28>Voo)KjWFd;*5Z+vUygdDPLr|soB+trk>nf zk*y6?O7l~${{4}(_*yyK9n4t-+$0)9+H5bri0NFqU?1~_?#3<?9c%e|%1O1#WhvXn z7?h}yos@mWiv@cW!%Ee5=8#jwX2^W<K{k-V{2y;uKA?rO5L!xP0HR&Yh)6uwT<14X z%M!^BFhi#uwT*PiLL;6zj*K`u$4~$PSNvGj##={cm`9)$pP4EpP~-tw)#0Hm)x&Dk z_2xcvNzaN7n&#IFVxD6G+yW;HAj9EjPap$(uveIYepwD=pkKC$Y$4pOw~Fn;sRaNl zV^ZTHC0QAhx?Qs}CN(bqvyf(XE1s2q=--AJ$bBQdSXTAdcNUaieD8C%^K|tS=Hzl* vTFS*jk`N$5L@^AFubE!CK}c=*Tqz!%5BegIw#bPsE?~UQ5r>A$*`4+a64N(D literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_6.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_6.schem new file mode 100644 index 0000000000000000000000000000000000000000..2293427c220ca9de44f864b0ac365cce17ef4841 GIT binary patch literal 6036 zcmb2|=3sz;x3|t_#eNq(_AvLfXIA@}ONlRee{eC)Yhkm>C|G#mOS6FAQ{~qJkws61 zgQ^5uor<gXihiFl%|u1k<m@BS+W+VIO>X@5s9ItgvG{97^^et`Pyg+{`>~*Io9(Zs z@3QJ`-r3*#n|XWNcDda5e_kKG`R(QA!`<oT=G)iX{dg?C`}X7c_SUxV*T>7|tt$_o zzxU^Z@8Y{ZAO8AT{kr+~<EM{L-@Uq9J={G0UA}z$ynFBF$Gp|=>(7sSw|;)in{{z- z<@eWozWMK_{d_yy%<uorA9qjJ|6l$1;LUH3*Z1n{^B@14F239Tj@&u_`FE{v->WX% zac}<pcY1yDZ}_$^FHcXu?Z5Bq-`%f2AO832$NTx#wb#F$TmOA~{=YNk|BwBB`!@c~ z`uXzu+h@Dq?zg)qUw*#q_}!b|K1}YP7Z<bVmVEu^UteGEuYLS;`|{`e>mL6sU;cdk zw#(~({`~jh&!-)C=j6Ws_vVZCJ~O$!|IdB<aCr6X&*$&&xp(jX@5{cER6J49%im@C zl6>ul9~M~15TweFmx{}&5mW{>sr)FdRlnPP_rKzuNF~B92Ri9{uAW%ll-GJTK6lEi zKRECBAVi#}|Ess3+VTGc$S-*_xb+Q*vTXaIg+=<;V=HFtNYvYNgqX0kxWm<cYHv*W z!^B5zJBf9hwv5*IqPwl_ozl+^dGinzi)#y3+&Mk!nbDXTO=hEcX0$XLEt-i5fzf(q zw9*`H&WyIrMjM)=U4YU443Qnj(Mof)(j2WcM=Q<IN^|g5n#2tOTHJ{(1dXx{4%Mgw zxS;Xe`<vTuSIfuUom2ns;@6J_HgDo>t3H4F_wAZ`d;0OyZ=c<L`*yjw`1)_hFW=sL a`MSS<JpZ=0_u{wJGZe0zmG1XIgaH5`-r7|F literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_7.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/private/private_pocket_7.schem new file mode 100644 index 0000000000000000000000000000000000000000..116a5f78b4c17ff5ca4e51133957dcdb3669a594 GIT binary patch literal 8327 zcmeHMUq};i92a^>3YCHyLE9k+6@<eIjJe&w2rHry5ktc5!3UuiQRe=*+g*Q%QJ0-W z(LZg4!RjG=@Ii6^SVN9V8@6H?ZEL$+u4%j5rn{TBEhT&N<%iHi{EmZr`u@J$@B8ob z{d^Fzy6Vrf^l9euSNk4&{N{b?OTEk3-n-3v?TVzP#xOhB`aHG0{^iQS-RB#^PX|Aq zw5491y>)TN_SR}QnR7pz61$F3`Ab7>b~}OfTg0SjSk5o93w1xjbSTBA1a+M~&_dN_ zN(KL1ob1xZlrE2r%Z?D3wVcS0$}>8oTc?XehxCL{9Po7vsXddz&$ly6WN4mwpG%Vm z!s9WiUg>pP`>|e|`?$($!`+tN9=w$0c_Cf66U5ESQ^PCYocm%ZQDz3lgSEc?PRwNK zQ{a}KazUciWTMveBI|F~Hq%b|2l+W<Snrvz8jVJNxne7e$<${qX{cCD4u!kmWXLd) zOcRVh9*H5{UPXsYr&5TC5R($;gp|0*vN;XvnlM|GCBZJob49rtqo0I{Qh7B~u}!Q# zj!8$olS-*>SQ@P?MYQfFSt;uY1gOz&2VN?2@j%S2ICZz-^d|3%K>YO)rHrB(&J6ac z$bBv|24=J2B$jiLG`Pn#Yf-gDr<J@++%LB80{-JN&9?LRVjW7f>@2JV{dAiI_|nw5 zjU&(`GeQDifI~Qpy~{Mp5G2RVP5}oji0wt^O%jTt1b!g_8g8Zw-Ra1#$Bo7?1F$uB z)Nw;2M5Y*~6GbNhQ;p&HN5MBv@mGT5nh>M|IO)XcuJ{Gq#PR$?ifROoJ)Rt653MI2 zHVwlLmh~{~N)%Q*V8y{|hfN+fd5}g6XFHtj5YhqQLI~*~l7|Z%$PNjSJVf$vZwCNn zkgkDr4P@y6S_Wk4AUO-kSrAzOa`KRqhf)jxyZnDBa3E{j-}$>`<@BFB-9)Wkm#|YT z%lhf?xW-rho;37LD!f>}7{4B9ap+YoYtp%gFc-#1@&O%+gvMNsx(pu0OIHI#)fwAu J34Q{p`VEno!-W6< literal 0 HcmV?d00001 From 1ba21ebb862f233b131339eca90a14eb1ccd2b8b Mon Sep 17 00:00:00 2001 From: SD <harrypotter.starwars.shrish@gmail.com> Date: Sat, 26 Sep 2020 15:36:08 +0530 Subject: [PATCH 8/8] Convert public pockets Changes to be committed: new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_0.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_1.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_2.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_3.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_4.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_5.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_6.schem new file: src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_7.schem --- .../schematic/v2/public/public_pocket_0.schem | Bin 0 -> 513 bytes .../schematic/v2/public/public_pocket_1.schem | Bin 0 -> 765 bytes .../schematic/v2/public/public_pocket_2.schem | Bin 0 -> 1212 bytes .../schematic/v2/public/public_pocket_3.schem | Bin 0 -> 1759 bytes .../schematic/v2/public/public_pocket_4.schem | Bin 0 -> 2921 bytes .../schematic/v2/public/public_pocket_5.schem | Bin 0 -> 4361 bytes .../schematic/v2/public/public_pocket_6.schem | Bin 0 -> 6243 bytes .../schematic/v2/public/public_pocket_7.schem | Bin 0 -> 8542 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_0.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_1.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_2.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_3.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_4.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_5.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_6.schem create mode 100644 src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_7.schem diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_0.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_0.schem new file mode 100644 index 0000000000000000000000000000000000000000..a6f7fbddc731dc8a6b2ce1ec37a3edc7b788839c GIT binary patch literal 513 zcmV+c0{;CUiwFP!000000PR=7ZWA#Ooy6IsaY%b9-1vh?+>0V4XeE%ST0kN|g;tJt zylcg=S6)Y@H~u_~vt=oqfO1&c9m(2#<MEsKj*r9moh)!If|d;UxiA<4o{BF3kZ>4X zHyB)GdYw7vt0V25O$ni`w6nsbv3;S0)Ha`6=R+|ogi-TNS)!j6)Wx|$6=tqPJ6FO~ zI4j*HddzC{nRX2rJZ?5DjgYHUSgFy5REee6l4js<RG7HwcUANmOxN0?^g@Lrp?zG+ z;NdUI8bv*lG<uIdN{G+<Fno<R4+R`>*gM4_G7$uW@#5r6sS3k~+G>M8*0vh_DPka+ zm#Fh1zyX8FF;O%-_~8h~&yAC-*anzBf%{gyoArOf&R`ov-UfCC|CG6Z6S7$U2DZlF z;I13|33diMgDp4M0@xXBgUH*!dv5T~)flF`_;g}}4jL;?z1|-5UuE#9iFp(|J;hH< zy;gz4Af`ADiFC&K1Q=z;NR>d6dqi9R50++w*KJ|SLOlB#so{Yzm*T2AMhenMc%qz_ zn7xQxz=4;Z5~+_;64?K~c(IFrkzoSE+`CO#?a1iRlroO;y3Kz~G1xcSuBx|`<h7-% zIN5`tv$zmf5NX)CiyVy3Xs42rC?(Bgp|hA*X-^$N<IHxueG~8L`xL$bURPYOBM<-p DN}2m! literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_1.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_1.schem new file mode 100644 index 0000000000000000000000000000000000000000..d0ecb149b48fb2ad4ba5957bf886dafe568fe948 GIT binary patch literal 765 zcmb2|=3sz;w|6h*T{aM5dvJN#-D^F)(hvCFvi@S3tfg{8Wx|XZZ7z+Rp>ai*qP*Xp z_-ImgeD$Gjk=?SXPPdyTI8AzLe`$|pe46~pf9r)WJ*YK#ymNyQmxhg)X7p+IN7{m4 zop0@_6S$D6^L*nqwfocER(H<ccxq{w(%c`%mv?q7nbkMNtjugqr-@{2isbBvXKbGa zp6Zl+)pJ!tF!S7DpZHA=D@=bs`u2+TOU>THky?vBcLq#MNmcK(Fg7ZBe_?;g#9wp& zZR^f+ur6L{VWhP2x0BTVOb7q}FLLe%9^bm<XJc>v!T;6M&F*cQbxZPX>z2|ZVMh*i zHLyKCT<$q(^WPm2I(2tu)E9kzZ~kol-5STdnb&oe8+%tX=F0C-y;j}gZ<hJN=<3Ct z^*$-;ElvyN@=D)n8%V^MDIZ8EXqIGTYnDF4VIXlQA<w5__x8eq=*ENp=fBrssR-SB zd&e<$t~~MkksKdvV;(cJZtv#K%gXFwXg<hMz&iK$MzE~-ohz3lfTjpO;IjIj+{-U= zM^A6Z%B6-(JZ#DbL`&Wsmy*}m5gStw?48Ua!Q<AT{o+o)sa-(9?i~-7O*;m(xrZVA z!cO_@ngtKa3J?0~_6jB#NHDHjP;7tghr_|QkD6vjNdcW|z!c;7yl&0M#-`gxS<Sba zxHTM1VA;`h?r#J>hwZotbXoK{u>XKM9<Uh$on<~FP~%GTTE@3J_U2V9)@+&d`GW21 zoWSqCKIgB^cTG+04G{G2@yYS9{eSiHgkKZ=w!REbu=wWvb)~)OnXIqn?{)S*czs;y zY}%uv=KD=-g<dY*af;s}^>p68xf#NRe@?A;RcxJkQBwN8*Zi{jT${K$y{qdt_(}&a z*56dKbH?w&eASg=VXI!g-_CT)cd6BR{|db&MNjU(xzHA7BNqN-I%nV3c;y27{^_wo oUsrhl-PrT@d+c4i)&ARlm5X&B?JWQPyQ7Zj{nN~E!Q~7L08*H9c>n+a literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_2.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_2.schem new file mode 100644 index 0000000000000000000000000000000000000000..1ec36885b3547d80fa203728249a352eaff8db74 GIT binary patch literal 1212 zcmb2|=3sz;x7W^R-3gO9`tg2*ob|NXYks9)H8-fpH)u6!6q6DPT5-EAY2DJ*l8KR0 zCfAqT{K~uQ)#qK4=K3w{KD{?~?t}M@2d6!ItSx!&(Uh_;$y>jf>um{5d@6nYr@$ZW z@4IK}dRzagSiGUUv^tpo@DAJT;|urCSy!_^xBXt}^v`e0dspA8E4{~`95H`Q?DaYK z^UUgOBK^z%Rz9CyV3bo+e{V<LYk#xD)%L%BJ$$wOW#sSH+P&3>LZ7dC?R`Cb?fb*2 zkJlaBHmm3F{OvEEsW07kG%nFU|JJ?m#o32uW*`5#u(kH%eDm9TFD6wjJv{%9#r{Ko zo>!NBXnr4_n7e$bZROME)v*Pwvax$=?wUl)*VS1Rl>a?_c>mVj|Gxga@N&lcn%z<C z*1B(g94$HWPV(vV_OdT~q*uNExlQ-quge^YEdow<Uv-L@+7CZ0u#ow8KvDxp@wFd* zYQfA3q#hRRkV#)~03^pZ{c(TYf;UGiCJKR7lvWlU`LS4D<F}z+s3BP7GgKrHS-^r> z_1ID^Hjq&jcK&@5=?jkR2s!!yWZ?PdCj}q#Op%zrN&;l%!=E;mNpl*79tVjwgIr@X zU){aOI3OuzRT9`u&p$uuC}i{M@ebtyss2ziPsZ?^LucX2u7e==%{xC?`Iw{zifcwK zADqE10!}Xvi{>;!5?)N7aR4|;w4W|y;{qp!0!u$o>ipFC{KP!F_ie9!rOMyB@GIBy zZnVwDz3;PsZ_3Mml_;@2eINhg*V^@#+k7>0_m>@<x@}Ecp2YO9o_+KBqiz+MR^7M% zv#<W@-CzCNW4A}{&i^-~f7|((@AqnN?E5g6ziyXZUfae`U$=jb42#+++1@MvJUsH& z=6boBhqtd<ol%#$eK1QV&;0i9!^_SunUz<t@NM}2Rfp!4=GO16eVre3+duwnQ6jtZ zd;L4?v->sg@qCs%`sL@Vf4XPC<({7=o-2E;%*yt8>E)c-8E5a_y?guT@0ZVy{bPHg L(#X_2gOLFM^HyKz literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_3.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_3.schem new file mode 100644 index 0000000000000000000000000000000000000000..a93ed5daa208baa124993a256c6d45f80f6a14fa GIT binary patch literal 1759 zcmeH{-A__+9L9BSrkl#LEniaEs&!#aT(dMI&qXh8wRtw1d0}bH%&k-uUl2ve)wD&* znoe4ztc%nlL8XNPdVHC(B-22}IxtwIgbt2yP!TwoZ|J|!h0nfMzh`^)+jrmRgJ%W! z?8>bE@hD2|>#xu4dLUmulUaz|%ozgj$JZs)9*+!7?}Y14j!Q*K{p`!v(M^kjDP>sT zJHm8gI<;vgc;I};HD(AM2zY!0ZH*XZqC$lMC=j@~MG+VIy`E3-x<biRVqMLYo;da( z)DxRiP|r0dOxEX*5*s*jK7$yfnl}?bF*IM!CCRE%(ohO!m%vCH)IVT0cBti246T8( z+S0_BgRVB?FcoZ4Ff3x-J#5t>Kr=RG;Y8UlDp$?X_C+{L`ZeXkMN%ofeTF{fvA0vP z7orT>=EHE;q{iHmuZ`zrOJX4hk5KKpj%(!E|FSW<^Vu=rERLyTXDZ5RJ#k2llA!&P zCCQ+<Z3d7ky$ZQa7K?=k^m$OLlZ(H*xnS3wljkyET&DUKttS>tNsh6uMKAM!ST>*m zx#|u$Z&fH{J>Qkvj_Nl98x2W&BOVPdj*^$`4RoaF$-ZT9Tq*WD@Z?DC2|W-BREG_I z+z+UPWyuYte(u!YMr1_Px*x<|SxWdGymES~BF6hh9O0{y5{H_IFwGlk4G^XoG(MoM z!07#f{M1e$@#|sO)|L);c6b`wW%;k_<ZbU(Ww(*wC5a)4fz$YS+a4viR_px_yhfd0 z*wG!m;?ZL`>pN(|vlZPz7^z0Kt{<SRNeed?D*Aq=spyq+Y=x$Q>!HL{C?s#m()U>$ z*5qg2BCGd}%WUdoQA#eXV-7816t0n-2$|}Fmn~yDFqOkAcM+t*5d5l(VPdPn3YE+x zhAy>c%;nWw2E|)&ZD!eqnc41Myg<NF1%eZ!d|Fj$wPUT@FlGIqWh}LjWKQHZ-!{w$ z&%vi4WC@ArG1>n-wG~IYINHpGvTsWwQ`z{E16?LVz0D})PF!{fydaS!4H{Ki%QT@Q Xe~Zp30ERgbU;^@`O6NTym7mW)Nxr8n literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_4.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_4.schem new file mode 100644 index 0000000000000000000000000000000000000000..278f1599b9c9707a68255cc5deff1aa0714e72f8 GIT binary patch literal 2921 zcmb2|=3sz;x0fCJqthkZ9!{=M%T(K<op5}XZ=K^3j+I-4JVJs+I~hc!=H57N9A@+F zMDe0aveN%FtLvOL%r^2^qfxb_?$^E7eQuq$=bnDnx!3*h=KJa9m)~0CPwRg8=yaj= z+0S2&{<xkfaZbN&`ThMHCHBST=7s<M`|#h>XB+Ov%EtTd{(ZL2Ja4^Ue*Ip#>9g;C zU48eT!TmiuB)7i~fB){?vcui8AMd`r`t6o^@o(NQySw`9j=l5a?!4VUlkf7Y!>jkp z?0=nO_~+3>>3ccHpWa?wxc!dL?w?t<`z&*&9Y4?W|9o(c|NSrf?T$V^`r+f-G;>}4 z$5nNfd3?+DV|na<uUD_GSmb`(z3Nx{%Yv$w%k}j(Hb3uf**!16?R59U#rn%CV|qXD zkeIjk-=Ctr`{qBhuVavp`~ULrn)d7UcACfS{p*Z#*X2KZSY&AP|BZ)D&GDoD^ZCx( z-F-Jb-#?$<|Np=9j+0b8!RY1jcY#JSeC>xH7FeKAn(N*kN-jhd1M^aMY~$`fimn_e zHT~f&JsUAhlPqG|vUh*DA-ChWeM_{;A#|NP_U()~3NrI;qxEmam>(z59AY7}&Rs9e z5agWGg%6c69J)ges$chbYd;T$^;J)jL>~hkwoOLd4%4HrCw7PSfLvEJYB4BcMuQqP z#g8T~wCp;Xolpy)(E<du?iejVMhg%s)W;DhZ4qdYN>Z~)G8x(c^87Wi+N|c!%d-77 zzklZ4J2U&`zehjrE$(kSzCV`NJ|5O6+%lX0ah_$Ytl8_INfyz)pDPUK=zqWc_hC(h z%(APUR`Tc8^IzWb`@{Rq=C{i)f6wo~y?ge@@OtZuhy9PeHGjPQ`+VQqne+PA&tLz& z{pprpUr$QuwRP`4{4dXHj@;9lA5ZSb|EanabN`I`!=E3X{Mt}oUjARU?2lz#*514Q zpVP|!&iB`C^WQf6?(N^}m)$PhZ2j-mmy_;?C;!c>vaPe8Gvny=-;+05{QL81_i~xG x%@02o{HxkL3)onE{5@vf_3xK!ex3RK{r!HczyE%Gw{NRw?0<M*;^Pi>1^{v<qD}w+ literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_5.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_5.schem new file mode 100644 index 0000000000000000000000000000000000000000..82a865fe0d3e68b50c6ece3f3f8f5a4f94180efc GIT binary patch literal 4361 zcmeHLUr19?7>^z@NZo^=Lh6tV4a+}NOl_M)Mt?+m2n;H_WMNGcooSmjHzL{|23{y? z(EJBcJ%mbF-Sp}#FY`h&EpM{&w$0m>%{e#kHg%i3_b&Sb8nm|_dbo!J2hQPqzmN0% z&X4c=_}cATehv4h!`gG^)G?yAcB~C;t|*f|0p5P7Oxkw(c*520^z^%fby>)(rh~io zmfo>HIshvlOz{>@mM^GtCibXhQoFD?FZkZ~cpMG_u^{_qsPh8ouO3LwF{DA5@D$Ld z;;RX|N**L*v;;nFU#S@>{wl^(R^f3HdkI?>W#p=F*$cU(179jdHaE||g1MxylC|5b zi-f~sWs%5M?g}~C>KPFL;<(dkVqs@qk5aydd!dO$B-a)h9e2M`G#7dv>Lmi87u9J@ zzF-G	DQ0?MWoC&y%ap>=VF}mSnTPUwXZOnXd}YsjQ34PRk*~6jEHK!Lr-gFhjiK zKebFNMCUKW@>>f{WKBD2q~?tdpvMehv;#twK3YeT#VQ|dCjBGoUH-7-db5b9(-Ph* z$G$Q3=V_Xt<}tT2w6N@@=I#S=_cBgw%tlM88YR7QVH)_?W$AW3Ocg{uUcVEBC!tDt zN;CsMtkM<-o+FHp0`U`<_4w<O(w=3qtcKE-M8^w^qoYZo*E>KgLA9E$2xiSj_1(6U zzXO>20c;r6fLo)Z4|`uwM-A>#ayFYY_$LjxH{@uui4ojS;nZeBn>lgd#DNnBE_2w# z0ZtsagmZ%fn~1?>4*zxL5Y@T$5H5*rHwY>9*RcNHly&`^DslIw$~41x^MEka1OtXO zg`nPUYPuz*7p=z-Cbt5~t<amFGi*cn+Kfpfh1zp?`V~cfd(T+QQ1XN>>}DIpd*iW% zk`A8Zj7BoUP=S6OF2F!Oi0fTmC{pkdnH+P=$N<z;hD$ozCP8x;X*|n#F2^MyM$<*r z{?zimMzMnK;w$s(dV3xBDY?9%`SZxYK&vJ-k}~qj>Oouj;k6|w5kYa2XWA`T?-2AK zVlk&appFS!maAxGLB6&xka<Z;`(3j7!q_VaL(s<Rg8)y5+CnwMh7LO>vl?2%CV0Ic RVT+AyQw?@sO-PR0@*NfQv?~Ar literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_6.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_6.schem new file mode 100644 index 0000000000000000000000000000000000000000..92ddaca9fcd23e4a9f8bb6cec84a31e322b93f6d GIT binary patch literal 6243 zcmb2|=3sz;x3>;<MSmAP{xQ2>z3;ehSY~-G^LuW#U=QJpg$ET|cjaoh&D%LkaN1JG z#S>Dlhrd|of8Bkhwq>T&B)wVBK1f&no3AgS)LUdfeY3^tVl&$xcYj{}leIB^?tGtg zdHrjj>+I{d{79O$?DFQ9|E|Z+@tGgDCN4H-`|jDtSKlrB{O3dFy*q2R%|80;=f~In z)4M-kefH^O+V0!&w!5O%O!v3jy>DK5|2n?==lrjIF8ZHQZJR$&NBs5dpBKM=`&?-r zU-R|ldG^=$PJa2E-y;6{=+D#7yU+g2y7y+jzPNtb>d%Msm;HaLd(Hjj{@U){>X)t8 zht2+3vpwRSynfhj<tn4UU##=Lot3_8x#!Z~`{#E*)|UDIefQ<){d3Ky|6ZM0ZMOIC z#Xa#cI^Vh{zdX2^f4<&y^UweI*T?VwcYM3u|BoMjuD}25&+^Cjmmf~9vt6&Z{@dkm zDOEoXJ`}t!k^cVfe7QaQ@6Fq9Q)j#P`}gIORXiu5qD%a5{fuPz+7CZ0upmg~^}mj- zm_b+_#HhPs*LQy~C?rz(Zryd|4-+2|;R=wF^5~fNhYla9-M`zu&DyhtDA(^hee}@O zqP^Vw!r%YC`zxWh=Lk`j-T8lVq0u{gu*UE+t<xol3M}b|0Xy}<{y!R1(Me3;7VHq@ zoBDgyn$bW5CDGB8Hkxln3!BlRbF{u0tvyGZ9HR}W(N^bZ8+x?kK}?5jv>P?r_Z;m> zj}AYK4yKHbKv6KBM$2JKqM9-mGViwSxYyd=Nz~wGfyJHNLbS16AlH5a`(^9*>$gAG zx4-iy{P)$G;<6v_&fUIz_kN6z{qBgpyKdx_oA*CITetnjob%_)S3muiv#WgL4gGV= zE`NSowcC2GU)krQ9|M<Pe)%+So_YM=?|a2xpMSP~f83h&>&5o}IsNhCWq+~P=f&gi z)flXQ{<r4GpMsrt=bjheZ)KNlHT&GU^4qT~%WI}yetEb4;Q41)pI-g<qow_F^z_|t z)32N7%a#2o|8ccwZ|s}!*{AFOze=ep-+OD%o}VdoTO)G$>aG5LI``#TnX!Fzjis!7 z@u!d9e)LQ}ygz<V<>|~_=6C1%&0nkcE&TGg2R5;K`Op4-GzSfeKRJ7U`OEyv_KXX; L6Bao?6kz}WQ<NgF literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_7.schem b/src/main/resources/data/dimdoors/pockets/schematic/v2/public/public_pocket_7.schem new file mode 100644 index 0000000000000000000000000000000000000000..496553476f15470105a3a1a21bba60c59c2c2bd3 GIT binary patch literal 8542 zcmeHNO>7!h5YC}hB3Uwrs_~)8a;cI=a#*E@QmY1%%9T}B4XSgXwi>K7O^_-YR7ecA zF<hGZuvJ#7TjO>eIQZa3#K9JFml!ZgEVOkoMv;T50~p!sg*XIa{tU|+wx(%sIpp=$ z>aAAV)9gIW%$xb%_dOwY=)m(Q^Y9aFoH;tYAzteU_6$DUy<KeDdhO7eFJJHZ<*ma% z|Jrrm#a-$9?eeju8=vBvV!1witjln^!zHk$o11=GTO9n@bdX<R?j@E*krYAiKK-Jt zrq<0Oc=|ZOw+6KQ)qZYRe0CIFCPSezw@~7u3#Rf`GCb#A&*};LaZ+RcdZsO!wMrjl z1XN(yLfEm+Uaw&WL6qwrw{)%ty&)*0tMLge7%o+J{PlEc+G^&XB*d%U5vJ_8jym2^ zg{<m6RrH$PsGVW+(-Jqkl-JGs!&Aj`K7V|K@us5jfxbUJJCaDK1?1z!e3a)dJA4mr z5{}|-BC?QCxN0fAg{;qItq5wdOa|Vw-KK(U($&_DwAU*u7?v(oaD_uT#7#u_y}GYd zE%~n4w1w1^%n_ZmPz<w}&vuG&!&l?=WQMsntl*p~QiGZ+bl`*U-~8}J@5#W;x7!h% zqH_kY4?kve8;oE!e>?GQq(q4DU-+bRn#x^_0$=RD<GnXb+09%|=5zaAF?W3f{15(w z@vxL>ESxX6%OCCJ9{7P{hO@24-$UoyrP3rlfdMZ;Sm>_&(1^NmiRx?tj-M>)+&LlB z=PH#k92WuS+_a?HIQLf!PYH$RffK(s7P>#V7xUBfMX7WSu-NEa<&^EZoNXkZG8(Uf z7Au{*C~dOkbuBoKvz5o2!1mNX$rl!2;=u|RCLZp1xZ?pk4s7+X)x#MNh*98-hu{u^ zJFrs;MD>j$9Ypnjt=0fhJw){o)k9SO(mW6(a3FIBnL99WhCs>|Qnrw*f9V<XTvdQv zeM9JiA`Kuoqy8uA9I&*uZ@_>1UlVhcFA}r&74DOQ(X!O@$R^<o`WQl{OWVOg{d#w{ z&KTJ^yUVgBv&&?T9~BVswd&Ti_g$-~yey`I+ge_2o|VOV&o-yo%tRI~+mO|3<yzv| zP=6_0U5FC)77HPm_YM{F_Fy<dXzs{*9INy|p&G|(8)^x^l5vi%Fh&0b{&Pvp^dlE= z@CRi|QjX%J+@SAIZ(rcUSo#^#SI`x1VfI?m6_*SZZjCSzMKtbAhxV^7WU@&GY4bQe zvxzBOoM<KSHdbxsz8fKIf_ZK<pw--U$IKpyOesP&<8oAVCqidbO7B34)%$w0<0Agm N=J$_W(sc+A{0U{JJ&gbW literal 0 HcmV?d00001