Continue migration

This commit is contained in:
Aleksey 2021-04-12 16:34:13 +03:00
parent 47ed597358
commit 33dbfbe633
263 changed files with 1450 additions and 1486 deletions

View file

@ -18,15 +18,14 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.impl.biome.InternalBiomeData;
import net.fabricmc.fabric.impl.biome.WeightedBiomePicker;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.Minecraft;
import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.core.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.Biome.Category;
import net.minecraft.world.biome.BiomeKeys;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biomes;
import ru.betterend.BetterEnd;
import ru.betterend.config.Configs;
import ru.betterend.integration.Integrations;
@ -75,13 +74,13 @@ public class EndBiomes {
private static Registry<Biome> biomeRegistry;
// Vanilla Land
public static final EndBiome END = registerBiome(BiomeKeys.THE_END, BiomeType.LAND, 1F);
public static final EndBiome END_MIDLANDS = registerSubBiome(BiomeKeys.END_MIDLANDS, END, 0.5F);
public static final EndBiome END_HIGHLANDS = registerSubBiome(BiomeKeys.END_HIGHLANDS, END, 0.5F);
public static final EndBiome END = registerBiome(Biomes.THE_END, BiomeType.LAND, 1F);
public static final EndBiome END_MIDLANDS = registerSubBiome(Biomes.END_MIDLANDS, END, 0.5F);
public static final EndBiome END_HIGHLANDS = registerSubBiome(Biomes.END_HIGHLANDS, END, 0.5F);
// Vanilla Void
public static final EndBiome END_BARRENS = registerBiome(BiomeKeys.END_BARRENS, BiomeType.VOID, 1F);
public static final EndBiome SMALL_END_ISLANDS = registerBiome(BiomeKeys.SMALL_END_ISLANDS, BiomeType.VOID, 1);
public static final EndBiome END_BARRENS = registerBiome(Biomes.END_BARRENS, BiomeType.VOID, 1F);
public static final EndBiome SMALL_END_ISLANDS = registerBiome(Biomes.SMALL_END_ISLANDS, BiomeType.VOID, 1);
// Better End Land
public static final EndBiome FOGGY_MUSHROOMLAND = registerBiome(new FoggyMushroomlandBiome(), BiomeType.LAND);
@ -129,8 +128,8 @@ public class EndBiomes {
Map<String, JsonObject> configs = Maps.newHashMap();
biomeRegistry.forEach((biome) -> {
if (biome.getCategory() == Category.THEEND) {
ResourceLocation id = biomeRegistry.getId(biome);
if (biome.getBiomeCategory() == Biome.BiomeCategory.THEEND) {
ResourceLocation id = biomeRegistry.getKey(biome);
if (Configs.BIOME_CONFIG.getBoolean(id, "enabled", true)) {
if (!LAND_BIOMES.containsImmutable(id) && !VOID_BIOMES.containsImmutable(id)
&& !SUBBIOMES_UNMUTABLES.contains(id)) {
@ -184,22 +183,20 @@ public class EndBiomes {
}
private static void loadFabricAPIBiomes() {
List<RegistryKey<Biome>> biomes = Lists.newArrayList();
biomes.addAll(getBiomes(InternalBiomeData.getEndBiomesMap().get(BiomeKeys.SMALL_END_ISLANDS)));
biomes.addAll(getBiomes(InternalBiomeData.getEndBarrensMap().get(BiomeKeys.END_BARRENS)));
biomes.forEach((key) -> FABRIC_VOID.add(key.getValue()));
List<ResourceKey<Biome>> biomes = Lists.newArrayList();
biomes.addAll(getBiomes(InternalBiomeData.getEndBiomesMap().get(Biomes.SMALL_END_ISLANDS)));
biomes.addAll(getBiomes(InternalBiomeData.getEndBarrensMap().get(Biomes.END_BARRENS)));
biomes.forEach((key) -> FABRIC_VOID.add(key.location()));
if (BetterEnd.isDevEnvironment()) {
System.out.println("==================================");
System.out.println("Added void biomes from Fabric API:");
FABRIC_VOID.forEach((id) -> {
System.out.println(id);
});
FABRIC_VOID.forEach(System.out::println);
System.out.println("==================================");
}
}
private static List<RegistryKey<Biome>> getBiomes(WeightedBiomePicker picker) {
private static List<ResourceKey<Biome>> getBiomes(WeightedBiomePicker picker) {
IBiomeList biomeList = (IBiomeList) (Object) picker;
return biomeList == null ? Collections.emptyList() : biomeList.getBiomes();
}
@ -222,7 +219,7 @@ public class EndBiomes {
*/
public static void initRegistry(MinecraftServer server) {
if (biomeRegistry == null) {
biomeRegistry = server.registryAccess().get(Registry.BIOME_KEY);
biomeRegistry = server.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY);
}
}
@ -250,7 +247,7 @@ public class EndBiomes {
* @return registered {@link EndBiome}
*/
public static EndBiome registerBiome(Biome biome, BiomeType type, float fogDensity, float genChance) {
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.getId(biome), biome, fogDensity, genChance, true);
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.getKey(biome), biome, fogDensity, genChance, true);
if (Configs.BIOME_CONFIG.getBoolean(endBiome.getID(), "enabled", true)) {
addToPicker(endBiome, type);
}
@ -282,7 +279,7 @@ public class EndBiomes {
*/
public static EndBiome registerSubBiome(Biome biome, EndBiome parent, float fogDensity, float genChance,
boolean hasCaves) {
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.getId(biome), biome, fogDensity, genChance, hasCaves);
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.getKey(biome), biome, fogDensity, genChance, hasCaves);
if (Configs.BIOME_CONFIG.getBoolean(endBiome.getID(), "enabled", true)) {
parent.addSubBiome(endBiome);
SUBBIOMES.add(endBiome);
@ -365,11 +362,11 @@ public class EndBiomes {
}
}
public static EndBiome registerBiome(RegistryKey<Biome> key, BiomeType type, float genChance) {
public static EndBiome registerBiome(ResourceKey<Biome> key, BiomeType type, float genChance) {
return registerBiome(BuiltinRegistries.BIOME.get(key), type, genChance);
}
public static EndBiome registerSubBiome(RegistryKey<Biome> key, EndBiome parent, float genChance) {
public static EndBiome registerSubBiome(ResourceKey<Biome> key, EndBiome parent, float genChance) {
return registerSubBiome(BuiltinRegistries.BIOME.get(key), parent, genChance, true);
}
@ -387,15 +384,15 @@ public class EndBiomes {
private static void addLandBiomeToFabricApi(EndBiome biome) {
float weight = biome.getGenChanceImmutable();
RegistryKey<Biome> key = BuiltinRegistries.BIOME.getKey(biome.getBiome()).get();
InternalBiomeData.addEndBiomeReplacement(BiomeKeys.END_HIGHLANDS, key, weight);
InternalBiomeData.addEndBiomeReplacement(BiomeKeys.END_MIDLANDS, key, weight);
ResourceKey<Biome> key = BuiltinRegistries.BIOME.getResourceKey(biome.getBiome()).get();
InternalBiomeData.addEndBiomeReplacement(Biomes.END_HIGHLANDS, key, weight);
InternalBiomeData.addEndBiomeReplacement(Biomes.END_MIDLANDS, key, weight);
}
private static void addVoidBiomeToFabricApi(EndBiome biome) {
float weight = biome.getGenChanceImmutable();
RegistryKey<Biome> key = BuiltinRegistries.BIOME.getKey(biome.getBiome()).get();
InternalBiomeData.addEndBiomeReplacement(BiomeKeys.SMALL_END_ISLANDS, key, weight);
ResourceKey<Biome> key = BuiltinRegistries.BIOME.getResourceKey(biome.getBiome()).get();
InternalBiomeData.addEndBiomeReplacement(Biomes.SMALL_END_ISLANDS, key, weight);
}
public static EndBiome getFromBiome(Biome biome) {
@ -406,8 +403,9 @@ public class EndBiomes {
public static EndBiome getRenderBiome(Biome biome) {
EndBiome endBiome = CLIENT.get(biome);
if (endBiome == null) {
MinecraftClient minecraft = MinecraftClient.getInstance();
ResourceLocation id = minecraft.world.registryAccess().get(Registry.BIOME_KEY).getId(biome);
Minecraft minecraft = Minecraft.getInstance();
ResourceLocation id = minecraft.level.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY)
.getKey(biome);
endBiome = id == null ? END : ID_MAP.getOrDefault(id, END);
CLIENT.put(biome, endBiome);
}
@ -415,7 +413,7 @@ public class EndBiomes {
}
public static ResourceLocation getBiomeID(Biome biome) {
ResourceLocation id = biomeRegistry.getId(biome);
ResourceLocation id = biomeRegistry.getKey(biome);
return id == null ? END.getID() : id;
}