From 4713e1f3575e9f6c565a580621da41d364d1ac49 Mon Sep 17 00:00:00 2001 From: CreepyCre Date: Mon, 29 Mar 2021 16:05:25 +0200 Subject: [PATCH] fix gateway generation get rid of V1 gateways --- .../dimdoors/world/feature/ModFeatures.java | 17 +++++------ ...eway.java => SandstonePillarsGateway.java} | 4 +-- ...icV2Gateway.java => SchematicGateway.java} | 8 ++--- ...ture.java => SchematicGatewayFeature.java} | 6 ++-- .../SchematicGatewayFeatureConfig.java | 28 ++++++++++++++++++ .../SchematicV2GatewayFeatureConfig.java | 28 ------------------ ...sV2Gateway.java => TwoPillarsGateway.java} | 4 +-- .../dimdoors/gateways/sandstone_pillars.schem | Bin 439 -> 606 bytes .../data/dimdoors/gateways/two_pillars.schem | Bin 337 -> 462 bytes .../gateways/v2/sandstone_pillars.schem | Bin 589 -> 0 bytes .../dimdoors/gateways/v2/two_pillars.schem | Bin 446 -> 0 bytes 11 files changed, 46 insertions(+), 49 deletions(-) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/{SandstonePillarsV2Gateway.java => SandstonePillarsGateway.java} (88%) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/{SchematicV2Gateway.java => SchematicGateway.java} (88%) rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/{SchematicV2GatewayFeature.java => SchematicGatewayFeature.java} (71%) create mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeatureConfig.java delete mode 100644 src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java rename src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/{TwoPillarsV2Gateway.java => TwoPillarsGateway.java} (95%) delete mode 100644 src/main/resources/data/dimdoors/gateways/v2/sandstone_pillars.schem delete mode 100644 src/main/resources/data/dimdoors/gateways/v2/two_pillars.schem 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 a1e1489c..25604751 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java @@ -9,11 +9,8 @@ import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.mixin.accessor.GenerationSettingsAccessor; import org.dimdev.dimdoors.world.feature.decorator.EternalFluidLakeDecorator; 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 org.dimdev.dimdoors.world.feature.gateway.schematic.TwoPillarsV2Gateway; +import org.dimdev.dimdoors.world.feature.gateway.schematic.*; +import org.dimdev.dimdoors.world.feature.gateway.schematic.SchematicGateway; import net.minecraft.structure.rule.BlockMatchRuleTest; import net.minecraft.util.Identifier; @@ -38,10 +35,10 @@ import net.fabricmc.loader.api.FabricLoader; // Do not remove deprecated stuff @SuppressWarnings("DeprecatedIsStillUsed") public final class ModFeatures { - public static final Feature SCHEMATIC_GATEWAY_FEATURE = new SchematicV2GatewayFeature(SchematicV2GatewayFeatureConfig.CODEC); + public static final Feature SCHEMATIC_GATEWAY_FEATURE = new SchematicGatewayFeature(SchematicGatewayFeatureConfig.CODEC); public static final Feature 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 SchematicV2Gateway TWO_PILLARS_GATEWAY = new TwoPillarsV2Gateway(); + public static final SchematicGateway SANDSTONE_PILLARS_GATEWAY = new SandstonePillarsGateway(); + public static final SchematicGateway TWO_PILLARS_GATEWAY = new TwoPillarsGateway(); @Deprecated public static final Decorator ETERNAL_FLUID_LAKE_DECORATOR = new EternalFluidLakeDecorator(ChanceDecoratorConfig.CODEC); public static final ConfiguredFeature SANDSTONE_PILLARS_FEATURE; public static final ConfiguredFeature TWO_PILLARS_FEATURE; @@ -79,8 +76,8 @@ public final class ModFeatures { static { int gatewayChance = FabricLoader.getInstance().isDevelopmentEnvironment() ? 20 : DimensionalDoorsInitializer.getConfig().getWorldConfig().gatewayGenChance; - SANDSTONE_PILLARS_FEATURE = SCHEMATIC_GATEWAY_FEATURE.configure(new SchematicV2GatewayFeatureConfig(SchematicV2Gateway.ID_SCHEMATIC_MAP.inverse().get(SANDSTONE_PILLARS_GATEWAY))).decorate(ConfiguredFeatures.Decorators.SQUARE_TOP_SOLID_HEIGHTMAP.applyChance(gatewayChance)); - TWO_PILLARS_FEATURE = SCHEMATIC_GATEWAY_FEATURE.configure(new SchematicV2GatewayFeatureConfig(SchematicV2Gateway.ID_SCHEMATIC_MAP.inverse().get(TWO_PILLARS_GATEWAY))).decorate(ConfiguredFeatures.Decorators.SQUARE_TOP_SOLID_HEIGHTMAP.applyChance(gatewayChance)); + SANDSTONE_PILLARS_FEATURE = SCHEMATIC_GATEWAY_FEATURE.configure(new SchematicGatewayFeatureConfig(SchematicGateway.ID_SCHEMATIC_MAP.inverse().get(SANDSTONE_PILLARS_GATEWAY))).decorate(ConfiguredFeatures.Decorators.SQUARE_TOP_SOLID_HEIGHTMAP.applyChance(gatewayChance)); + TWO_PILLARS_FEATURE = SCHEMATIC_GATEWAY_FEATURE.configure(new SchematicGatewayFeatureConfig(SchematicGateway.ID_SCHEMATIC_MAP.inverse().get(TWO_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)); SOLID_STATIC_ORE = Feature.ORE.configure(new OreFeatureConfig(new BlockMatchRuleTest(ModBlocks.UNRAVELLED_FABRIC), ModBlocks.SOLID_STATIC.getDefaultState(), 4)).range(new RangeDecoratorConfig(YOffset.getBottom(), YOffset.getTop())).repeat(3); } diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsGateway.java similarity index 88% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsGateway.java index b0f031b2..8391f332 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsV2Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SandstonePillarsGateway.java @@ -11,8 +11,8 @@ import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeKeys; -public class SandstonePillarsV2Gateway extends SchematicV2Gateway { - public SandstonePillarsV2Gateway() { +public class SandstonePillarsGateway extends SchematicGateway { + public SandstonePillarsGateway() { super("sandstone_pillars"); } 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/SchematicGateway.java similarity index 88% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2Gateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGateway.java index 8d617206..ebc2f790 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/SchematicGateway.java @@ -18,19 +18,19 @@ import net.minecraft.nbt.NbtIo; import net.minecraft.util.math.BlockPos; import net.minecraft.world.StructureWorldAccess; -public abstract class SchematicV2Gateway implements Gateway, BiPredicate { +public abstract class SchematicGateway implements Gateway, BiPredicate { private Schematic schematic; private final String id; - public static final BiMap ID_SCHEMATIC_MAP = HashBiMap.create(); + public static final BiMap ID_SCHEMATIC_MAP = HashBiMap.create(); private boolean replaced; - public SchematicV2Gateway(String id) { + public SchematicGateway(String id) { ID_SCHEMATIC_MAP.putIfAbsent(id, this); this.id = id; } public void init() { - String schematicJarDirectory = "/data/dimdoors/gateways/v2/"; + String schematicJarDirectory = "/data/dimdoors/gateways/"; try (InputStream stream = DimensionalDoorsInitializer.class.getResourceAsStream(schematicJarDirectory + this.id + ".schem")) { if (stream == null) { diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeature.java similarity index 71% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeature.java index 0fa5608a..ca66321e 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeature.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeature.java @@ -6,13 +6,13 @@ import net.minecraft.block.AirBlock; import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.util.FeatureContext; -public class SchematicV2GatewayFeature extends Feature { - public SchematicV2GatewayFeature(Codec codec) { +public class SchematicGatewayFeature extends Feature { + public SchematicGatewayFeature(Codec codec) { super(codec); } @Override - public boolean generate(FeatureContext featureContext) { + public boolean generate(FeatureContext featureContext) { if (featureContext.getWorld().getBlockState(featureContext.getOrigin()).getBlock() instanceof AirBlock && featureContext.getConfig().getGateway().test(featureContext.getWorld(), featureContext.getOrigin())) { featureContext.getConfig().getGateway().generate(featureContext.getWorld(), featureContext.getOrigin()); return true; diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeatureConfig.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeatureConfig.java new file mode 100644 index 00000000..bf3edba6 --- /dev/null +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicGatewayFeatureConfig.java @@ -0,0 +1,28 @@ +package org.dimdev.dimdoors.world.feature.gateway.schematic; + +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 CODEC = RecordCodecBuilder.create((instance) -> instance.group( + Codec.STRING.fieldOf("gatewayId").forGetter(SchematicGatewayFeatureConfig::getGatewayId) + ).apply(instance, SchematicGatewayFeatureConfig::new)); + + private final SchematicGateway gateway; + private final String gatewayId; + + public SchematicGatewayFeatureConfig(String id) { + this.gatewayId = id; + this.gateway = SchematicGateway.ID_SCHEMATIC_MAP.get(id); + } + + public SchematicGateway getGateway() { + return this.gateway; + } + + public String getGatewayId() { + return this.gatewayId; + } +} diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java deleted file mode 100644 index 99593bcb..00000000 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/SchematicV2GatewayFeatureConfig.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dimdev.dimdoors.world.feature.gateway.schematic; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; - -import net.minecraft.world.gen.feature.FeatureConfig; - -public class SchematicV2GatewayFeatureConfig implements FeatureConfig { - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( - Codec.STRING.fieldOf("gatewayId").forGetter(SchematicV2GatewayFeatureConfig::getGatewayId) - ).apply(instance, SchematicV2GatewayFeatureConfig::new)); - - private final SchematicV2Gateway gateway; - private final String gatewayId; - - public SchematicV2GatewayFeatureConfig(String id) { - this.gatewayId = id; - this.gateway = SchematicV2Gateway.ID_SCHEMATIC_MAP.get(id); - } - - public SchematicV2Gateway getGateway() { - return this.gateway; - } - - public String getGatewayId() { - return this.gatewayId; - } -} 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/TwoPillarsGateway.java similarity index 95% rename from src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java rename to src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsGateway.java index d6c3bc86..f0f56aa5 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsV2Gateway.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/gateway/schematic/TwoPillarsGateway.java @@ -12,10 +12,10 @@ import net.minecraft.util.registry.RegistryKey; import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.biome.Biome; -public class TwoPillarsV2Gateway extends SchematicV2Gateway { +public class TwoPillarsGateway extends SchematicGateway { private static final int GATEWAY_RADIUS = 4; - public TwoPillarsV2Gateway() { + public TwoPillarsGateway() { super("two_pillars"); } diff --git a/src/main/resources/data/dimdoors/gateways/sandstone_pillars.schem b/src/main/resources/data/dimdoors/gateways/sandstone_pillars.schem index 8836a8293f63242be67914101a6bc70271021477..60942fa6d30deb45aa69f3ba278086e9832f7a73 100644 GIT binary patch literal 606 zcmV-k0-^mMiwFP!000000G(9ZZrd;nWvtjqY$SWgu$TQpzMw$Rp=fsjTCC_U*#$$O z*|aUhmJCU0wx|8_9)4isXZ}VCdMj>Q)9W%=3~lZA+s@ZV@EkJ((z|yttv+*=M|2P)m&t` z9WA&;U8pR>WSsKC;3o>=F_;{OUf^D6H7CTWK8zkPc$|nbQA(Q=5>OhUBrm3w(v}yr zqr;%Ti%&602MiwUbXMs&CuNtxo8y@p$|=7$3yi^V4>nm^ccT6PKmQKezSDsuF?Ig~ z`NU!8Eow)%tFi~dCCbd^;D^w?Ldz3wIfLHh;$@l|wC|S7<&VbtJ*|H=)*op78wln( zx~SkYh|URO8zX$!f!oS?Y%|ujNqO zukHJ5tsm@nYd+4S)7q;)<_7=e)}{BLTMzmxiY}xTR-g%;K7_U_MhHjUIz$ZSSdr8w|GuYd2M}?Y^@SA{+IRJ+806y zE3GQjE+qy7l+;@?#z|dj$3OHJs|8IaQO--sWkfoOiyM*J?LMkcDAlEqvojvgAc7#< zlApEpYl#9%o_=AGH%neOKA<0yO1#}%I{3{(is9{MR0lQXa<>T7CM)tbky-48E sZq`tT(_BqxIHi`h_!E&(^GB3Y-On|E@8<03a{1H3AHMG{k%|QX0H3iVAOHXW literal 439 zcmV;o0Z9HIiwFP!000000F_hQj?*v@oy579i}sZt03p6$rM@7L5Tbxq2p+0cHA*Ip zg&PNZs-=8A<2I#bw@VjCcE;m#j>lt91)!k%jE0zLhCczItRNp93SO>sPqo9AFFp2+ zXWP@9Hv>)m%3AIgf4tX1jTF2%L0EW3?fksOTKCJTw`=YKJXY|$(W}N<=P$*e-fP>V zSq#=Ont6w&ovw$0TtF8J9v{R-P<#^nv->xc_2kSJcA$RRqVe1Kb3vbv|AssVbon4O z;SQ}7yt+4;b*DWUYW_}Vs^IB?!q(NDcr!V4{*_!fNXU5%*$3*E+(BAFF(bwX8B2I{ zML*WsQ8TlRF9H&ZeJTn_KH`et;t=(qjX}wo$h{-I>=?2f%Gbu$-`|Ly(BE%0#vXx+ z_XJ$=!J-uA3nldoV~MNue3x&CMa+cJrMg?|B)!C+0DH4QmCD-CXjtUq(003Lu(t`j1 diff --git a/src/main/resources/data/dimdoors/gateways/two_pillars.schem b/src/main/resources/data/dimdoors/gateways/two_pillars.schem index cf9b7bdc0193a1efa223d1c7a39131f8a4e1a142..b1266930ea8c2ff8bc99e41b32fd7c81d9ad54e6 100644 GIT binary patch literal 462 zcmV;<0Wtm`iwFP!0000009{f|Zxb;PeOafQ#;fE4>V*S;fL~C7K&9nFYDHBf0$d_v zPj;swpM9Qa=EUB_=%} z@Wj}S@jk>;K9GynJ5?_mACjs$Hxrm`tRo%NDxE4D7=ysm0n?R@RFhf85Z8$&g=?D^rCdiQ_9u%BZ9Sri+UYt5u}*dAr^Iy?6i8={VfK za{M2d<{jCxN*D_i=S*?vAs z$x@VUp2WCSEm0VX$vU3BcLnB3Yibgix53{wanG2e&^&kZM(O0k%imp(9FH0wne#iH zb5YerUztPHQK=q8fAzJHkWKIng;tWloLmaZXUs?Jn#DySd%4mS>DPy1TKf zbjag@NaruDTc0VtMuEKCYtQzxVg6O^S&J+0^UrIpiZ|>$>p0Yr<^1>y^^<=*?`Rn= zAg+Dv2RiC^c8u)3!O37swgUUuECcJ~=0^)_*d>A`br0VY{NeqYJ@5km0kB#@hWY{k E0N?1~F8}}l literal 337 zcmV-X0j~ZZiwFP!000000DX|bPQx$^hP|fSx(+z;4qUh(ZWFyAkT@_v2*F{RCeyfW zv@9u!$2OjxbnCPo5IMw-?f=U!rvL)d7u3W|V_XA3oI<}X2)J4(L%G9(N1m;rPp9(v zE5tnMLyjvva@dErj0+1D1l+EF{jFENe<3R jWLn{-T@MVQ_goa7c)O6JGk|2z-xYoV0nme{8v+0TQZSit diff --git a/src/main/resources/data/dimdoors/gateways/v2/sandstone_pillars.schem b/src/main/resources/data/dimdoors/gateways/v2/sandstone_pillars.schem deleted file mode 100644 index 2c45b972f09231761b0cd7913a86ae7876932744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmV-T0=R5E2iljFaAkTDnW3MB_7_Gvnj2Bj~>pIhNc>!63Tf1v-b<{0ji| zBj~OG2Cqx0P#B)NQ_EFiomM!tj!R=drd&vsjgeb7%6XBFKWpc7IkGvgaBQ97GRxg) z!5x}HXBj5rlou91QIa-;$#Loh?xogqVw{@8>>-0Ei7XSXjXfm;m6clYVp?hActJC| z3FSp<2HiTEGGM7UTLGKzJPq^a@`jg9-X=>5ETP~MBcE;~%{A*|YfyTdqXkMVt z3IT)of+#jQqQ_n6pBGxpJWRq3y?X1fMUBQ-hYWAhZ*2xa;LV-6J0@*Q^Dx$Kc^3cc z1i=ao!u?^pkB{iK_TtCF;J?Cp^d1cB!=RSvQaR})+Q{QEup4dbw)Y!HyXC(KI(~~H zh!biqspy8#Duxp-1Xd1{=SI&fyRIRGSkNI$o^e6vqI^OBq+!W1rUW$HHEK0@g$BBDh{jdjk&4C++DL?+bV bF%{6XY@=x4uhO&S@~4A8OAQoCZ3O@T*H0i+ diff --git a/src/main/resources/data/dimdoors/gateways/v2/two_pillars.schem b/src/main/resources/data/dimdoors/gateways/v2/two_pillars.schem deleted file mode 100644 index 34a8465ac869bd37522bb72d087a263d919e1c65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUyBiwFP!0000009{hSZqzUkon3FUtfSovhzkdPfG?;(pwa?|R#dIj1uiRN zPZDbrJF=&=J@LyNk&sx%Np^!8$$A^A5s|*^cDq0S?Z5Uu4*PGM z{|ij>32j*s%mn18OmWbV&*rc=slDDNn44d-iOK%s7&==_F~k5P*neXDFJRemojI~( zG0IezgShl@D47gvDq)t+A|W>z$vU2hcR8$-*4Pr7kHO!zaj%m>u6Y{fgVN-~+h4tM z22WcbS?LF!a#Pi3-&kV1Q=Q)xItt2Z9Kjs2 za&K+AzYwmht=q;cep%KrNdhO3@o?Abfr*xP9RWWy+uSyse8rf