refactor chunk generator wrapper name

This commit is contained in:
dfsek 2022-06-21 10:25:23 -07:00
parent 0c02e4cb9a
commit aeb2da4ede
7 changed files with 24 additions and 27 deletions

View File

@ -29,9 +29,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.world.biome.Biome.Precipitation; import net.minecraft.world.biome.Biome.Precipitation;
import net.minecraft.world.biome.BiomeEffects.GrassColorModifier; import net.minecraft.world.biome.BiomeEffects.GrassColorModifier;
import net.minecraftforge.common.ForgeConfig.Common;
import net.minecraftforge.fml.loading.FMLLoader; import net.minecraftforge.fml.loading.FMLLoader;
import net.minecraftforge.fml.loading.targets.FMLServerLaunchHandler;
import net.minecraftforge.server.ServerLifecycleHooks; import net.minecraftforge.server.ServerLifecycleHooks;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -49,10 +47,9 @@ import com.dfsek.terra.api.handle.ItemHandle;
import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.api.handle.WorldHandle;
import com.dfsek.terra.api.util.generic.Lazy; import com.dfsek.terra.api.util.generic.Lazy;
import com.dfsek.terra.api.world.biome.PlatformBiome; import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import com.dfsek.terra.forge.handle.FabricItemHandle; import com.dfsek.terra.forge.handle.FabricItemHandle;
import com.dfsek.terra.forge.handle.FabricWorldHandle; import com.dfsek.terra.forge.handle.FabricWorldHandle;
import com.dfsek.terra.forge.util.BiomeUtil;
import com.dfsek.terra.forge.util.ProtoPlatformBiome; import com.dfsek.terra.forge.util.ProtoPlatformBiome;
@ -85,7 +82,7 @@ public class PlatformImpl extends AbstractPlatform {
}).join(); }).join();
//BiomeUtil.registerBiomes(); //BiomeUtil.registerBiomes();
server.getWorlds().forEach(world -> { server.getWorlds().forEach(world -> {
if(world.getChunkManager().getChunkGenerator() instanceof FabricChunkGeneratorWrapper chunkGeneratorWrapper) { if(world.getChunkManager().getChunkGenerator() instanceof ForgeChunkGeneratorWrapper chunkGeneratorWrapper) {
getConfigRegistry().get(chunkGeneratorWrapper.getPack().getRegistryKey()).ifPresent(pack -> { getConfigRegistry().get(chunkGeneratorWrapper.getPack().getRegistryKey()).ifPresent(pack -> {
chunkGeneratorWrapper.setPack(pack); chunkGeneratorWrapper.setPack(pack);
LOGGER.info("Replaced pack in chunk generator for world {}", world); LOGGER.info("Replaced pack in chunk generator for world {}", world);

View File

@ -3,7 +3,7 @@ package com.dfsek.terra.forge.data;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.registry.key.RegistryKey; import com.dfsek.terra.api.registry.key.RegistryKey;
import com.dfsek.terra.forge.ForgeEntryPoint; import com.dfsek.terra.forge.ForgeEntryPoint;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import com.dfsek.terra.forge.generation.TerraBiomeSource; import com.dfsek.terra.forge.generation.TerraBiomeSource;
import com.mojang.serialization.Codec; import com.mojang.serialization.Codec;
@ -44,22 +44,22 @@ public final class Codecs {
.forGetter(TerraBiomeSource::getPack)) .forGetter(TerraBiomeSource::getPack))
.apply(instance, instance.stable(TerraBiomeSource::new))); .apply(instance, instance.stable(TerraBiomeSource::new)));
public static final Codec<FabricChunkGeneratorWrapper> FABRIC_CHUNK_GENERATOR_WRAPPER = RecordCodecBuilder public static final Codec<ForgeChunkGeneratorWrapper> FABRIC_CHUNK_GENERATOR_WRAPPER = RecordCodecBuilder
.create( .create(
instance -> instance.group( instance -> instance.group(
RegistryOps.createRegistryCodec(Registry.STRUCTURE_SET_KEY) RegistryOps.createRegistryCodec(Registry.STRUCTURE_SET_KEY)
.fieldOf("structure_registry") .fieldOf("structure_registry")
.stable() .stable()
.forGetter(FabricChunkGeneratorWrapper::getNoiseRegistry), .forGetter(ForgeChunkGeneratorWrapper::getNoiseRegistry),
TERRA_BIOME_SOURCE.fieldOf("biome_source") TERRA_BIOME_SOURCE.fieldOf("biome_source")
.stable() .stable()
.forGetter(FabricChunkGeneratorWrapper::getBiomeSource), .forGetter(ForgeChunkGeneratorWrapper::getBiomeSource),
CONFIG_PACK.fieldOf("pack") CONFIG_PACK.fieldOf("pack")
.stable() .stable()
.forGetter(FabricChunkGeneratorWrapper::getPack), .forGetter(ForgeChunkGeneratorWrapper::getPack),
ChunkGeneratorSettings.REGISTRY_CODEC.fieldOf("settings") ChunkGeneratorSettings.REGISTRY_CODEC.fieldOf("settings")
.stable() .stable()
.forGetter(FabricChunkGeneratorWrapper::getSettings) .forGetter(ForgeChunkGeneratorWrapper::getSettings)
).apply(instance, instance.stable(FabricChunkGeneratorWrapper::new)) ).apply(instance, instance.stable(ForgeChunkGeneratorWrapper::new))
); );
} }

View File

@ -67,8 +67,8 @@ import com.dfsek.terra.forge.mixin.access.StructureAccessorAccessor;
import com.dfsek.terra.forge.util.ForgeAdapter; import com.dfsek.terra.forge.util.ForgeAdapter;
public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.ChunkGenerator implements GeneratorWrapper { public class ForgeChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.ChunkGenerator implements GeneratorWrapper {
private static final Logger logger = LoggerFactory.getLogger(FabricChunkGeneratorWrapper.class); private static final Logger logger = LoggerFactory.getLogger(ForgeChunkGeneratorWrapper.class);
private final TerraBiomeSource biomeSource; private final TerraBiomeSource biomeSource;
private final Registry<StructureSet> noiseRegistry; private final Registry<StructureSet> noiseRegistry;
@ -76,7 +76,7 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
private ChunkGenerator delegate; private ChunkGenerator delegate;
private ConfigPack pack; private ConfigPack pack;
public FabricChunkGeneratorWrapper(Registry<StructureSet> noiseRegistry, TerraBiomeSource biomeSource, ConfigPack configPack, public ForgeChunkGeneratorWrapper(Registry<StructureSet> noiseRegistry, TerraBiomeSource biomeSource, ConfigPack configPack,
RegistryEntry<ChunkGeneratorSettings> settingsSupplier) { RegistryEntry<ChunkGeneratorSettings> settingsSupplier) {
super(noiseRegistry, Optional.empty(), biomeSource); super(noiseRegistry, Optional.empty(), biomeSource);
this.noiseRegistry = noiseRegistry; this.noiseRegistry = noiseRegistry;

View File

@ -1,6 +1,6 @@
package com.dfsek.terra.forge.mixin.fix; package com.dfsek.terra.forge.mixin.fix;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import net.minecraft.world.gen.structure.NetherFossilStructure; import net.minecraft.world.gen.structure.NetherFossilStructure;
import net.minecraft.world.gen.structure.Structure.Context; import net.minecraft.world.gen.structure.Structure.Context;
@ -22,7 +22,7 @@ import java.util.Optional;
public class NetherFossilOptimization { public class NetherFossilOptimization {
@Inject(method = "getStructurePosition", at = @At("HEAD"), cancellable = true) @Inject(method = "getStructurePosition", at = @At("HEAD"), cancellable = true)
public void injectFossilPositions(Context context, CallbackInfoReturnable<Optional<StructurePosition>> cir) { public void injectFossilPositions(Context context, CallbackInfoReturnable<Optional<StructurePosition>> cir) {
if(context.chunkGenerator() instanceof FabricChunkGeneratorWrapper) { if(context.chunkGenerator() instanceof ForgeChunkGeneratorWrapper) {
cir.setReturnValue(Optional.empty()); cir.setReturnValue(Optional.empty());
} }
} }

View File

@ -17,7 +17,7 @@
package com.dfsek.terra.forge.mixin.implementations.terra.world; package com.dfsek.terra.forge.mixin.implementations.terra.world;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import net.minecraft.block.FluidBlock; import net.minecraft.block.FluidBlock;
import net.minecraft.fluid.Fluid; import net.minecraft.fluid.Fluid;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -117,7 +117,7 @@ public abstract class ChunkRegionMixin {
} }
public ChunkGenerator terraWorld$getGenerator() { public ChunkGenerator terraWorld$getGenerator() {
return ((FabricChunkGeneratorWrapper) world.getChunkManager().getChunkGenerator()).getHandle(); return ((ForgeChunkGeneratorWrapper) world.getChunkManager().getChunkGenerator()).getHandle();
} }
public BiomeProvider terraWorld$getBiomeProvider() { public BiomeProvider terraWorld$getBiomeProvider() {

View File

@ -17,7 +17,7 @@
package com.dfsek.terra.forge.mixin.implementations.terra.world; package com.dfsek.terra.forge.mixin.implementations.terra.world;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import com.dfsek.terra.forge.generation.TerraBiomeSource; import com.dfsek.terra.forge.generation.TerraBiomeSource;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldAccess;
@ -81,7 +81,7 @@ public abstract class ServerWorldMixin {
} }
public ChunkGenerator terra$getGenerator() { public ChunkGenerator terra$getGenerator() {
return ((FabricChunkGeneratorWrapper) ((net.minecraft.server.world.ServerWorld) (Object) this).getChunkManager() return ((ForgeChunkGeneratorWrapper) ((net.minecraft.server.world.ServerWorld) (Object) this).getChunkManager()
.getChunkGenerator()).getHandle(); .getChunkGenerator()).getHandle();
} }
@ -94,8 +94,8 @@ public abstract class ServerWorldMixin {
public ConfigPack terra$getPack() { public ConfigPack terra$getPack() {
net.minecraft.world.gen.chunk.ChunkGenerator generator = net.minecraft.world.gen.chunk.ChunkGenerator generator =
(((net.minecraft.server.world.ServerWorld) (Object) this).getChunkManager()).getChunkGenerator(); (((net.minecraft.server.world.ServerWorld) (Object) this).getChunkManager()).getChunkGenerator();
if(generator instanceof FabricChunkGeneratorWrapper fabricChunkGeneratorWrapper) { if(generator instanceof ForgeChunkGeneratorWrapper forgeChunkGeneratorWrapper) {
return fabricChunkGeneratorWrapper.getPack(); return forgeChunkGeneratorWrapper.getPack();
} }
return null; return null;
} }

View File

@ -2,7 +2,7 @@ package com.dfsek.terra.forge.util;
import com.dfsek.terra.api.event.events.platform.PlatformInitializationEvent; import com.dfsek.terra.api.event.events.platform.PlatformInitializationEvent;
import com.dfsek.terra.forge.ForgeEntryPoint; import com.dfsek.terra.forge.ForgeEntryPoint;
import com.dfsek.terra.forge.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper;
import com.dfsek.terra.forge.generation.TerraBiomeSource; import com.dfsek.terra.forge.generation.TerraBiomeSource;
import net.minecraft.structure.StructureSet; import net.minecraft.structure.StructureSet;
@ -80,7 +80,7 @@ public class LifecycleUtil {
PRESETS.add(generatorID); PRESETS.add(generatorID);
TerraBiomeSource biomeSource = new TerraBiomeSource(biomeRegistry, pack); TerraBiomeSource biomeSource = new TerraBiomeSource(biomeRegistry, pack);
ChunkGenerator generator = new FabricChunkGeneratorWrapper(structureSetRegistry, biomeSource, pack, overworld); ChunkGenerator generator = new ForgeChunkGeneratorWrapper(structureSetRegistry, biomeSource, pack, overworld);
DimensionOptions dimensionOptions = new DimensionOptions(overworldDimensionType, generator); DimensionOptions dimensionOptions = new DimensionOptions(overworldDimensionType, generator);
WorldPreset preset = new WorldPreset( WorldPreset preset = new WorldPreset(