Global features should be registered globally

This commit is contained in:
Aleksey 2020-10-16 23:03:30 +03:00
parent 6410088aaa
commit 28d4523c57
4 changed files with 3 additions and 11 deletions

View file

@ -6,9 +6,7 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.ChunkRegion;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.GenerationSettings;
@ -16,7 +14,6 @@ import net.minecraft.world.gen.ChunkRandom;
import net.minecraft.world.gen.StructureAccessor;
import net.minecraft.world.gen.chunk.ChunkGenerator;
import ru.betterend.BetterEnd;
import ru.betterend.registry.FeatureRegistry;
@Mixin(Biome.class)
@ -31,9 +28,8 @@ public abstract class BiomeMixin {
@Inject(method = "generateFeatureStep", at = @At("HEAD"))
public void generateFeatureStep(StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, ChunkRegion region, long populationSeed, ChunkRandom random, BlockPos pos, CallbackInfo cinfo) {
if (!injected) {
Identifier biomeId = region.toServerWorld().getRegistryManager().get(Registry.BIOME_KEY).getId(Biome.class.cast(this));
if (biomeId != null && !biomeId.getNamespace().equals(BetterEnd.MOD_ID) && category.equals(Biome.Category.THEEND)) {
FeatureRegistry.registerGlobals(this.generationSettings.getFeatures());
if (category.equals(Biome.Category.THEEND)) {
FeatureRegistry.registerGlobals(generationSettings.getFeatures());
}
this.injected = true;
}