Removed mixin

This commit is contained in:
paulevsGitch 2020-12-13 15:01:32 +03:00
parent d9fe8e5646
commit 7a89dbf439
4 changed files with 43 additions and 33 deletions

View file

@ -1,32 +0,0 @@
package ru.betterend.mixin.common;
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;
import net.fabricmc.fabric.impl.biome.InternalBiomeData;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.BiomeKeys;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBiomes;
@Mixin(InternalBiomeData.class)
public class InternalBiomeDataMixin {
@Inject(method = "addEndBiomeReplacement", at = @At("TAIL"))
private static void beAddIslandsBiomeFromFabric(RegistryKey<Biome> replaced, RegistryKey<Biome> variant, double weight, CallbackInfo info) {
if (replaced.equals(BiomeKeys.SMALL_END_ISLANDS)) {
Biome biome = BuiltinRegistries.BIOME.get(variant);
Identifier id = BuiltinRegistries.BIOME.getId(biome);
if (!id.getNamespace().equals(BetterEnd.MOD_ID)) {
EndBiomes.FABRIC_VOID.add(id);
if (BetterEnd.isDevEnvironment()) {
System.out.println("Added " + id + " from Fabric small islands biome map");
}
}
}
}
}

View file

@ -15,6 +15,7 @@ import com.google.gson.JsonObject;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.fabricmc.fabric.impl.biome.InternalBiomeData; import net.fabricmc.fabric.impl.biome.InternalBiomeData;
import net.fabricmc.fabric.impl.biome.WeightedBiomePicker;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
@ -24,6 +25,7 @@ import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.Biome.Category; import net.minecraft.world.biome.Biome.Category;
import net.minecraft.world.biome.BiomeKeys; import net.minecraft.world.biome.BiomeKeys;
import net.minecraft.world.biome.layer.util.LayerRandomnessSource;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.util.JsonFactory; import ru.betterend.util.JsonFactory;
@ -40,6 +42,7 @@ import ru.betterend.world.biome.BiomePaintedMountains;
import ru.betterend.world.biome.BiomeShadowForest; import ru.betterend.world.biome.BiomeShadowForest;
import ru.betterend.world.biome.BiomeSulphurSprings; import ru.betterend.world.biome.BiomeSulphurSprings;
import ru.betterend.world.biome.EndBiome; import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.generator.BELayerRandomSource;
import ru.betterend.world.generator.BiomePicker; import ru.betterend.world.generator.BiomePicker;
import ru.betterend.world.generator.BiomeType; import ru.betterend.world.generator.BiomeType;
@ -90,6 +93,10 @@ public class EndBiomes {
LAND_BIOMES.clearMutables(); LAND_BIOMES.clearMutables();
VOID_BIOMES.clearMutables(); VOID_BIOMES.clearMutables();
if (FABRIC_VOID.isEmpty()) {
loadFabricAPIBiomes();
}
Map<String, JsonObject> configs = Maps.newHashMap(); Map<String, JsonObject> configs = Maps.newHashMap();
biomeRegistry.forEach((biome) -> { biomeRegistry.forEach((biome) -> {
@ -149,6 +156,22 @@ public class EndBiomes {
CLIENT.clear(); CLIENT.clear();
} }
private static void loadFabricAPIBiomes() {
WeightedBiomePicker picker = InternalBiomeData.getEndBiomesMap().get(BiomeKeys.SMALL_END_ISLANDS);
LayerRandomnessSource random = new BELayerRandomSource();
for (int i = 0; i < 1000; i++) {
RegistryKey<Biome> key = picker.pickRandom(random);
FABRIC_VOID.add(key.getValue());
}
if (BetterEnd.isDevEnvironment()) {
System.out.println("Added void biomes from Fabric API:");
FABRIC_VOID.forEach((id) -> {
System.out.println(id);
});
System.out.println("==================================");
}
}
private static JsonObject loadJsonConfig(String namespace) { private static JsonObject loadJsonConfig(String namespace) {
InputStream inputstream = EndBiomes.class.getResourceAsStream("/data/" + namespace + "/end_biome_properties.json"); InputStream inputstream = EndBiomes.class.getResourceAsStream("/data/" + namespace + "/end_biome_properties.json");
if (inputstream != null) { if (inputstream != null) {

View file

@ -0,0 +1,20 @@
package ru.betterend.world.generator;
import java.util.Random;
import net.minecraft.util.math.noise.PerlinNoiseSampler;
import net.minecraft.world.biome.layer.util.LayerRandomnessSource;
public class BELayerRandomSource implements LayerRandomnessSource {
private Random random = new Random(0);
@Override
public int nextInt(int bound) {
return random.nextInt(bound);
}
@Override
public PerlinNoiseSampler getNoiseSampler() {
return null;
}
}

View file

@ -12,7 +12,6 @@
"ServerPlayerEntityMixin", "ServerPlayerEntityMixin",
"ChorusPlantFeatureMixin", "ChorusPlantFeatureMixin",
"BubbleColumnBlockMixin", "BubbleColumnBlockMixin",
"InternalBiomeDataMixin",
"ChorusFlowerBlockMixin", "ChorusFlowerBlockMixin",
"LandPathNodeMakerMixin", "LandPathNodeMakerMixin",
"ChorusPlantBlockMixin", "ChorusPlantBlockMixin",