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

View file

@ -20,7 +20,7 @@ import ru.betterend.world.features.VineFeature;
public class FeatureRegistry { public class FeatureRegistry {
public final static List<EndFeature> globalFeatures = Lists.newArrayList(); private final static List<EndFeature> globalFeatures = Lists.newArrayList();
// Trees // // Trees //
public static final EndFeature MOSSY_GLOWSHROOM = new EndFeature("mossy_glowshroom", new MossyGlowshroomFeature(), 3); public static final EndFeature MOSSY_GLOWSHROOM = new EndFeature("mossy_glowshroom", new MossyGlowshroomFeature(), 3);

View file

@ -18,9 +18,7 @@ public class BiomeChorusForest extends EndBiome {
.setParticles(ParticleTypes.PORTAL, 0.01F) .setParticles(ParticleTypes.PORTAL, 0.01F)
.setLoop(SoundRegistry.AMBIENT_CHORUS_FOREST) .setLoop(SoundRegistry.AMBIENT_CHORUS_FOREST)
.setMusic(SoundRegistry.MUSIC_CHORUS_FOREST) .setMusic(SoundRegistry.MUSIC_CHORUS_FOREST)
.addFeature(FeatureRegistry.ENDER_ORE)
.addFeature(FeatureRegistry.VIOLECITE_LAYER) .addFeature(FeatureRegistry.VIOLECITE_LAYER)
.addFeature(FeatureRegistry.FLAVOLITE_LAYER)
.addFeature(FeatureRegistry.RARE_END_LAKE) .addFeature(FeatureRegistry.RARE_END_LAKE)
.addFeature(FeatureRegistry.PYTHADENDRON_TREE) .addFeature(FeatureRegistry.PYTHADENDRON_TREE)
.addFeature(FeatureRegistry.PYTHADENDRON_BUSH) .addFeature(FeatureRegistry.PYTHADENDRON_BUSH)

View file

@ -20,8 +20,6 @@ public class BiomeFoggyMushroomland extends EndBiome {
.setLoop(SoundRegistry.AMBIENT_FOGGY_MUSHROOMLAND) .setLoop(SoundRegistry.AMBIENT_FOGGY_MUSHROOMLAND)
.setMusic(SoundRegistry.MUSIC_FOGGY_MUSHROOMLAND) .setMusic(SoundRegistry.MUSIC_FOGGY_MUSHROOMLAND)
.addStructureFeature(StructureRegistry.GIANT_MOSSY_GLOWSHROOM) .addStructureFeature(StructureRegistry.GIANT_MOSSY_GLOWSHROOM)
.addFeature(FeatureRegistry.ENDER_ORE)
.addFeature(FeatureRegistry.FLAVOLITE_LAYER)
.addFeature(FeatureRegistry.END_LAKE) .addFeature(FeatureRegistry.END_LAKE)
.addFeature(FeatureRegistry.MOSSY_GLOWSHROOM) .addFeature(FeatureRegistry.MOSSY_GLOWSHROOM)
.addFeature(FeatureRegistry.BLUE_VINE) .addFeature(FeatureRegistry.BLUE_VINE)