Fixed Generation Bugs
This commit is contained in:
parent
277dcc04b7
commit
c66a1a1824
5 changed files with 26 additions and 11 deletions
|
@ -69,11 +69,16 @@ public class BetterEnd implements ModInitializer {
|
|||
|
||||
BiomeAPI.registerEndBiomeModification((biomeID, biome) -> {
|
||||
if (!biomeID.equals(Biomes.THE_VOID.location())) {
|
||||
EndStructures.addBiomeStructures(biomeID, biome);
|
||||
EndFeatures.addBiomeFeatures(biomeID, biome);
|
||||
}
|
||||
});
|
||||
|
||||
BiomeAPI.onFinishingEndBiomeTags((biomeID, biome) -> {
|
||||
if (!biomeID.equals(Biomes.THE_VOID.location())) {
|
||||
EndStructures.addBiomeStructures(biomeID, biome);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
public static ResourceLocation makeID(String path) {
|
||||
return new ResourceLocation(MOD_ID, path);
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
package ru.betterend.mixin.common;
|
||||
|
||||
import net.minecraft.world.level.levelgen.Aquifer;
|
||||
import net.minecraft.world.level.levelgen.DensityFunctions;
|
||||
import net.minecraft.world.level.levelgen.NoiseChunk;
|
||||
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
|
||||
import net.minecraft.world.level.levelgen.NoiseRouter;
|
||||
import net.minecraft.world.level.levelgen.NoiseSettings;
|
||||
import net.minecraft.world.level.levelgen.*;
|
||||
import net.minecraft.world.level.levelgen.blending.Blender;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
@ -13,6 +8,7 @@ import org.spongepowered.asm.mixin.Shadow;
|
|||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import ru.bclib.BCLib;
|
||||
import ru.betterend.interfaces.BETargetChecker;
|
||||
import ru.betterend.world.generator.TerrainGenerator;
|
||||
|
||||
|
@ -23,8 +19,19 @@ public class NoiseChunkMixin implements BETargetChecker {
|
|||
private boolean be_isEndGenerator;
|
||||
|
||||
@Inject(method = "<init>*", at = @At("TAIL"))
|
||||
private void be_onNoiseChunkInit(int i, int j, int k, NoiseRouter noiseRouter, int l, int m, DensityFunctions.BeardifierOrMarker beardifierOrMarker, NoiseGeneratorSettings noiseGeneratorSettings, Aquifer.FluidPicker fluidPicker, Blender blender, CallbackInfo ci) {
|
||||
be_isEndGenerator = BETargetChecker.class.cast(noiseGeneratorSettings).be_isTarget();
|
||||
private void be_onNoiseChunkInit(int i,
|
||||
RandomState randomState,
|
||||
int j,
|
||||
int k,
|
||||
NoiseSettings noiseSettings,
|
||||
DensityFunctions.BeardifierOrMarker beardifierOrMarker,
|
||||
NoiseGeneratorSettings noiseGeneratorSettings,
|
||||
Aquifer.FluidPicker fluidPicker,
|
||||
Blender blender,
|
||||
CallbackInfo ci) {
|
||||
var o = BETargetChecker.class.cast(noiseGeneratorSettings);
|
||||
if (o!= null) be_isEndGenerator = o.be_isTarget();
|
||||
else BCLib.LOGGER.warning(noiseGeneratorSettings + " has unknown implementation.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -15,7 +15,7 @@ public abstract class SlimeMixin extends Entity implements ISlime {
|
|||
}
|
||||
|
||||
@Shadow
|
||||
protected void setSize(int size, boolean heal) {
|
||||
public void setSize(int size, boolean heal) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -83,7 +83,7 @@ public class EndBiomes {
|
|||
}
|
||||
|
||||
private static void onWorldLoad(ServerLevel level, long seed, Registry<Biome> registry) {
|
||||
if (CAVE_BIOMES.biomeRegistry != registry) {
|
||||
if (CAVE_BIOMES==null || CAVE_BIOMES.biomeRegistry != registry) {
|
||||
CAVE_BIOMES = new BiomePicker(registry);
|
||||
registry.stream()
|
||||
.filter(biome -> registry.getResourceKey(biome).isPresent())
|
||||
|
@ -94,6 +94,7 @@ public class EndBiomes {
|
|||
.filter(bcl -> bcl != null)
|
||||
.forEach(bcl -> CAVE_BIOMES.addBiome(bcl));
|
||||
|
||||
CAVE_BIOMES.rebuild();
|
||||
caveBiomeMap = null;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ import java.util.Random;
|
|||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.levelgen.LegacyRandomSource;
|
||||
|
||||
import net.fabricmc.fabric.impl.biome.TheEndBiomeData;
|
||||
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
public class TerrainGenerator {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue