diff --git a/src/main/java/ru/betterend/mixin/common/MappedRegistryMixin.java b/src/main/java/ru/betterend/mixin/common/MappedRegistryMixin.java new file mode 100644 index 00000000..323872c3 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/MappedRegistryMixin.java @@ -0,0 +1,17 @@ +package ru.betterend.mixin.common; + +import net.minecraft.core.MappedRegistry; +import net.minecraft.resources.ResourceKey; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(MappedRegistry.class) +public class MappedRegistryMixin { + // TODO Make this a part of BCLib (implement froze/unfroze methods) + @Inject(method = "validateWrite", at = @At("HEAD"), cancellable = true) + private void be_validateWrite(ResourceKey resourceKey, CallbackInfo info) { + info.cancel(); + } +} diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index a8f96504..8eddc0d9 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -305,9 +305,6 @@ public class EndFeatures { private static BCLFeature registerLayer(String name, Block block, float radius, int minY, int maxY, int count) { OreLayerFeature layer = new OreLayerFeature(block.defaultBlockState(), radius, minY, maxY); - //PlacedFeature configured = layer.configured(FeatureConfiguration.NONE).placed(new PlacementModifier[]{CountPlacement.of(count)}); - // return new BCLFeature(BetterEnd.makeID(name), layer, GenerationStep.Decoration.UNDERGROUND_ORES, configured); - return BCLFeatureBuilder .start(BetterEnd.makeID(name), layer) .decoration( GenerationStep.Decoration.UNDERGROUND_ORES) @@ -326,11 +323,10 @@ public class EndFeatures { BiomeAPI.addBiomeFeature(biome, CRASHED_SHIP); BCLBiome bclbiome = BiomeAPI.getBiome(id); - //TODO: 1.18.2 - Not sure what this code is supposed to do.... -// BCLFeature feature = getBiomeStructures(bclbiome); -// if (feature != null) { -// BiomeAPI.addBiomeFeature(biome, feature); -// } + BCLFeature feature = getBiomeStructures(bclbiome); + if (feature != null) { + BiomeAPI.addBiomeFeature(biome, feature); + } if (id.getNamespace().equals(BetterEnd.MOD_ID)) { return; @@ -353,7 +349,6 @@ public class EndFeatures { if (BuiltinRegistries.PLACED_FEATURE.containsKey(id)) { PlacedFeature placed = BuiltinRegistries.PLACED_FEATURE.get(id); Feature feature = Registry.FEATURE.get(id); - //return new BCLFeature(id, feature, Decoration.SURFACE_STRUCTURES, placed); return BCLFeatureBuilder .start(id, feature) .decoration(Decoration.SURFACE_STRUCTURES) diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index f1bfc80b..1085e8d8 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -13,6 +13,7 @@ "ChorusPlantBlockMixin", "EndPodiumFeatureMixin", "EndDragonFightMixin", + "MappedRegistryMixin", "WorldGenRegionMixin", "BlockBehaviourMixin", "NoiseChunkAccessor",