From 38e4e9bc94c9fa8f67a7c3e3ffd1e29e7bfd928b Mon Sep 17 00:00:00 2001 From: dfsek Date: Sun, 29 May 2022 21:04:48 -0700 Subject: [PATCH] simplify NMS impl --- .../bukkit/nms/NMSChunkGeneratorDelegate.java | 30 +++---------------- .../terra/bukkit/nms/NMSInjectListener.java | 4 +-- 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSChunkGeneratorDelegate.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSChunkGeneratorDelegate.java index 92a41a996..915563707 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSChunkGeneratorDelegate.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSChunkGeneratorDelegate.java @@ -1,7 +1,6 @@ package com.dfsek.terra.bukkit.nms; import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.api.util.generic.Construct; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.info.WorldProperties; import com.dfsek.terra.bukkit.generator.BukkitProtoChunk; @@ -12,13 +11,11 @@ import com.mojang.serialization.Codec; import net.minecraft.core.BlockPosition; import net.minecraft.server.level.RegionLimitedWorldAccess; import net.minecraft.world.level.BlockColumn; -import net.minecraft.world.level.ChunkCoordIntPair; import net.minecraft.world.level.GeneratorAccessSeed; import net.minecraft.world.level.LevelHeightAccessor; import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.biome.BiomeManager; import net.minecraft.world.level.biome.Climate.Sampler; -import net.minecraft.world.level.block.state.IBlockData; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.chunk.IChunkAccess; import net.minecraft.world.level.levelgen.ChunkGeneratorAbstract; @@ -29,9 +26,6 @@ import org.bukkit.craftbukkit.v1_18_R2.CraftWorld; import org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData; import org.bukkit.craftbukkit.v1_18_R2.generator.CraftChunkData; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; @@ -47,14 +41,8 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator { private final CraftWorld world; - public NMSChunkGeneratorDelegate(ChunkGenerator vanilla, ConfigPack pack, NMSBiomeProvider biomeProvider, long seed, - CraftWorld world) { - super( - vanilla.b, // structure sets - vanilla.e, // structure overrides - biomeProvider); //Last arg is WorldChunkManager - - + public NMSChunkGeneratorDelegate(ChunkGenerator vanilla, ConfigPack pack, NMSBiomeProvider biomeProvider, CraftWorld world) { + super(vanilla.b, vanilla.e, biomeProvider); this.delegate = pack.getGeneratorProvider().newInstance(pack); this.vanilla = vanilla; this.biomeSource = biomeProvider; @@ -76,17 +64,7 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator { @Override //fillFromNoise public CompletableFuture a(Executor executor, Blender blender, StructureManager structuremanager, IChunkAccess ichunkaccess) { - return CompletableFuture.supplyAsync(() -> { - BukkitServerWorld serverWorld = new BukkitServerWorld(world); - BiomeProvider biomeProvider = pack.getBiomeProvider().caching(serverWorld); - CraftChunkData chunkData = new CraftChunkData(this.world, ichunkaccess); - - int x = ichunkaccess.f().c; - int z = ichunkaccess.f().d; - delegate.generateChunkData(new BukkitProtoChunk(chunkData), new BukkitServerWorld(world), biomeProvider, x, z); - - return ichunkaccess; - }, executor); + return vanilla.a(executor, blender, structuremanager, ichunkaccess); } @@ -113,7 +91,7 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator { @Override // withSeed public ChunkGenerator a(long seed) { - return new NMSChunkGeneratorDelegate(vanilla, pack, biomeSource, seed, world); + return new NMSChunkGeneratorDelegate(vanilla, pack, biomeSource, world); } //spawnOriginalMobs diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSInjectListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSInjectListener.java index 71f81fe63..4a0529dc3 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSInjectListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/nms/NMSInjectListener.java @@ -3,7 +3,6 @@ package com.dfsek.terra.bukkit.nms; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper; -import net.minecraft.server.level.PlayerChunkMap; import net.minecraft.server.level.WorldServer; import net.minecraft.world.level.chunk.ChunkGenerator; import org.bukkit.craftbukkit.v1_18_R2.CraftWorld; @@ -28,8 +27,7 @@ public class NMSInjectListener implements Listener { ChunkGenerator vanilla = serverWorld.k().g(); NMSBiomeProvider provider = new NMSBiomeProvider(pack.getBiomeProvider(), vanilla.e(), craftWorld.getSeed()); - NMSChunkGeneratorDelegate custom = new NMSChunkGeneratorDelegate(vanilla, pack, provider, - craftWorld.getSeed(), craftWorld); + NMSChunkGeneratorDelegate custom = new NMSChunkGeneratorDelegate(vanilla, pack, provider, craftWorld); custom.conf = vanilla.conf; // world config from Spigot