From 1912d8e34ceea7cdebb9daa999f5b3760e2087ce Mon Sep 17 00:00:00 2001 From: Zoe Gidiere Date: Fri, 25 Oct 2024 15:44:51 -0600 Subject: [PATCH] Fixup --- .../mixin/generalize/ServerWorldMixin.java | 22 ++++++++---- .../dfsek/terra/mod/util/MinecraftUtil.java | 8 ++--- .../com/dfsek/terra/mod/util/PresetUtil.java | 36 +++++++++---------- 3 files changed, 35 insertions(+), 31 deletions(-) diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java index 9d71d6c28..cd096cb82 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java @@ -2,30 +2,38 @@ package com.dfsek.terra.mod.mixin.generalize; import net.minecraft.registry.DynamicRegistryManager; +import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.WorldGenerationProgressListener; import net.minecraft.server.world.ServerWorld; +import net.minecraft.util.math.random.RandomSequencesState; import net.minecraft.util.profiler.Profiler; import net.minecraft.village.raid.RaidManager; import net.minecraft.world.MutableWorldProperties; import net.minecraft.world.World; +import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.dimension.DimensionTypes; +import net.minecraft.world.level.ServerWorldProperties; +import net.minecraft.world.level.storage.LevelStorage; +import net.minecraft.world.spawner.SpecialSpawner; +import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; +import java.util.List; +import java.util.concurrent.Executor; import java.util.function.Supplier; @Mixin(ServerWorld.class) public abstract class ServerWorldMixin extends World { - protected ServerWorldMixin(MutableWorldProperties properties, RegistryKey registryRef, DynamicRegistryManager registryManager, - RegistryEntry dimensionEntry, Supplier profiler, boolean isClient, - boolean debugWorld, long biomeAccess, int maxChainedNeighborUpdates) { - super(properties, registryRef, registryManager, dimensionEntry, profiler, isClient, debugWorld, biomeAccess, - maxChainedNeighborUpdates); + public ServerWorldMixin(MinecraftServer server, Executor workerExecutor, LevelStorage.Session session, ServerWorldProperties properties, RegistryKey worldKey, DimensionOptions dimensionOptions, WorldGenerationProgressListener worldGenerationProgressListener, boolean debugWorld, long seed, List spawners, boolean shouldTickTime, @Nullable RandomSequencesState randomSequencesState) { + super(properties, worldKey, server.getRegistryManager(), dimensionOptions.dimensionTypeEntry(), false, debugWorld, seed, server.getMaxChainedNeighborUpdates()); } @Redirect(method = "", @@ -45,7 +53,9 @@ public abstract class ServerWorldMixin extends World { public String nameForProxy(RegistryEntry dimensionTypeEntry) { RegistryEntry entry = dimensionTypeEntry; if(this.getRegistryKey() == World.END) { - entry = getRegistryManager().get(RegistryKeys.DIMENSION_TYPE).getEntry(DimensionTypes.THE_NETHER).orElseThrow(); + Registry dimensionTypeRegistry = getRegistryManager().getOrThrow(RegistryKeys.DIMENSION_TYPE); + entry = dimensionTypeRegistry.getEntry(dimensionTypeRegistry.get(DimensionTypes.THE_NETHER)); + } return RaidManager.nameFor(entry); } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java index 544d819ad..7c44ace4d 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java @@ -71,7 +71,7 @@ public final class MinecraftUtil { } public static void registerFlora(Registry biomeRegistry) { - + logger.info("Injecting flora into Terra biomes..."); CommonPlatform.get().getConfigRegistry().forEach(pack -> { // Register all Terra biomes. PreLoadCompatibilityOptions compatibilityOptions = pack.getContext().get(PreLoadCompatibilityOptions.class); if(compatibilityOptions.isInjectFlora()) { @@ -81,18 +81,16 @@ public final class MinecraftUtil { }); } }); - logger.info("Injecting flora into Terra biomes..."); - } public static void registerFlora(com.dfsek.terra.api.world.biome.Biome biome, ConfigPack pack, com.dfsek.terra.api.registry.key.RegistryKey id, Registry biomeRegistry) { RegistryKey vanillaKey = ((ProtoPlatformBiome) biome.getPlatformBiome()).get(biomeRegistry); - biomeRegistry.getOrEmpty(vanillaKey) + biomeRegistry.getOptionalValue(vanillaKey) .ifPresentOrElse(vanillaBiome -> { Identifier terraBiomeIdentifier = Identifier.of("terra", MinecraftUtil.createBiomeID(pack, id)); - biomeRegistry.getOrEmpty(terraBiomeIdentifier).ifPresentOrElse( + biomeRegistry.getOptionalValue(terraBiomeIdentifier).ifPresentOrElse( terraBiome -> { List> flowerFeatures = List.copyOf( vanillaBiome.getGenerationSettings() diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java index 896d0ec6e..703965a7b 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java @@ -146,15 +146,14 @@ public class PresetUtil { Registry multiNoiseBiomeSourceParameterLists, Registry biomeRegistry, HashMap, DimensionOptions> map) { if(!map.containsKey(DimensionOptions.OVERWORLD)) { - RegistryEntry overworldDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.OVERWORLD).orElseThrow(); + RegistryEntry overworldDimensionType = dimensionTypeRegistry.getEntry(dimensionTypeRegistry.get(DimensionTypes.OVERWORLD)); - RegistryEntry.Reference overworldChunkBiomeReference = - multiNoiseBiomeSourceParameterLists.getEntry( - MultiNoiseBiomeSourceParameterLists.OVERWORLD).orElseThrow(); + RegistryEntry overworldChunkBiomeReference = + multiNoiseBiomeSourceParameterLists.getEntry(multiNoiseBiomeSourceParameterLists.get( + MultiNoiseBiomeSourceParameterLists.OVERWORLD)); - RegistryEntry overworldChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( - ChunkGeneratorSettings.OVERWORLD) - .orElseThrow(); + RegistryEntry overworldChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(chunkGeneratorSettingsRegistry.get( + ChunkGeneratorSettings.OVERWORLD)); DimensionOptions overworldDimensionOptions = new DimensionOptions(overworldDimensionType, @@ -162,31 +161,28 @@ public class PresetUtil { map.put(DimensionOptions.OVERWORLD, overworldDimensionOptions); } if(!map.containsKey(DimensionOptions.NETHER)) { - RegistryEntry netherDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.THE_NETHER).orElseThrow(); + RegistryEntry netherDimensionType = dimensionTypeRegistry.getEntry(dimensionTypeRegistry.get(DimensionTypes.THE_NETHER)); - RegistryEntry.Reference netherChunkBiomeReference = - multiNoiseBiomeSourceParameterLists.getEntry( - MultiNoiseBiomeSourceParameterLists.NETHER).orElseThrow(); - - RegistryEntry netherChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( - ChunkGeneratorSettings.NETHER) - .orElseThrow(); + RegistryEntry netherChunkBiomeReference = + multiNoiseBiomeSourceParameterLists.getEntry(multiNoiseBiomeSourceParameterLists.get( + MultiNoiseBiomeSourceParameterLists.NETHER)); + RegistryEntry netherChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(chunkGeneratorSettingsRegistry.get( + ChunkGeneratorSettings.NETHER)); DimensionOptions overworldDimensionOptions = new DimensionOptions(netherDimensionType, (new NoiseChunkGenerator(MultiNoiseBiomeSource.create(netherChunkBiomeReference), netherChunkGeneratorSettings))); map.put(DimensionOptions.NETHER, overworldDimensionOptions); } if(!map.containsKey(DimensionOptions.END)) { - RegistryEntry endDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.THE_END).orElseThrow(); + RegistryEntry endDimensionType = dimensionTypeRegistry.getEntry(dimensionTypeRegistry.get(DimensionTypes.THE_END)); - RegistryEntry endChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( - ChunkGeneratorSettings.END) - .orElseThrow(); + RegistryEntry endChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(chunkGeneratorSettingsRegistry.get( + ChunkGeneratorSettings.END)); DimensionOptions overworldDimensionOptions = new DimensionOptions(endDimensionType, - (new NoiseChunkGenerator(TheEndBiomeSource.createVanilla(biomeRegistry.getReadOnlyWrapper()), endChunkGeneratorSettings))); + (new NoiseChunkGenerator(TheEndBiomeSource.createVanilla(biomeRegistry), endChunkGeneratorSettings))); map.put(DimensionOptions.END, overworldDimensionOptions); } }