Revert "Updated bukkit platform to 1.21"

This commit is contained in:
Oak 2024-06-18 11:30:02 +01:00
parent d810cad8d0
commit 0507978c87
13 changed files with 22 additions and 40 deletions

View File

@ -52,12 +52,12 @@ object Versions {
// }
object Bukkit {
const val minecraft = "1.21"
const val paperBuild = "$minecraft-R0.1-20240615.005026-1"
const val minecraft = "1.20.6"
const val paperBuild = "$minecraft-R0.1-20240602.222958-107"
const val paper = paperBuild
const val paperLib = "1.0.8"
const val reflectionRemapper = "0.1.1"
const val paperDevBundle = paperBuild
const val paperDevBundle = "$minecraft-R0.1-20240601.143523-105"
const val runPaper = "2.3.0"
const val paperWeight = "1.7.1"
}

View File

@ -10,7 +10,7 @@ repositories {
dependencies {
shaded(project(":platforms:bukkit:common"))
shaded(project(":platforms:bukkit:nms:v1_21", configuration = "reobf"))
shaded(project(":platforms:bukkit:nms:v1_20_R6", configuration = "reobf"))
shaded("xyz.jpenilla", "reflection-remapper", Versions.Bukkit.reflectionRemapper)
}

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import com.google.common.collect.ImmutableMap;
import net.minecraft.core.Holder;
@ -41,12 +41,12 @@ public class AwfulBukkitHacks {
try {
BukkitPlatformBiome platformBiome = (BukkitPlatformBiome) biome.getPlatformBiome();
NamespacedKey vanillaBukkitKey = platformBiome.getHandle().getKey();
ResourceLocation vanillaMinecraftKey = ResourceLocation.fromNamespaceAndPath(vanillaBukkitKey.getNamespace(), vanillaBukkitKey.getKey());
ResourceLocation vanillaMinecraftKey = new ResourceLocation(vanillaBukkitKey.getNamespace(), vanillaBukkitKey.getKey());
Biome platform = NMSBiomeInjector.createBiome(biome, Objects.requireNonNull(biomeRegistry.get(vanillaMinecraftKey)));
ResourceKey<Biome> delegateKey = ResourceKey.create(
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath("terra", NMSBiomeInjector.createBiomeID(pack, key))
new ResourceLocation("terra", NMSBiomeInjector.createBiomeID(pack, key))
);
Reference<Biome> holder = biomeRegistry.register(delegateKey, platform, RegistrationInfo.BUILT_IN);

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.biome.Biome;

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.Holder;

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos;
@ -26,6 +26,7 @@ import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@ -86,10 +87,10 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator {
}
@Override
public CompletableFuture<ChunkAccess> fillFromNoise(@NotNull Blender blender,
@NotNull RandomState noiseConfig,
@NotNull StructureManager structureAccessor, @NotNull ChunkAccess chunk) {
return vanilla.fillFromNoise(blender, noiseConfig, structureAccessor, chunk)
public @NotNull CompletableFuture<ChunkAccess> fillFromNoise(@NotNull Executor executor, @NotNull Blender blender,
@NotNull RandomState noiseConfig,
@NotNull StructureManager structureAccessor, @NotNull ChunkAccess chunk) {
return vanilla.fillFromNoise(executor, blender, noiseConfig, structureAccessor, chunk)
.thenApply(c -> {
LevelAccessor level = Reflection.STRUCTURE_MANAGER.getLevel(structureAccessor);
BiomeProvider biomeProvider = pack.getBiomeProvider();

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import org.bukkit.Bukkit;

View File

@ -1,9 +1,7 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.chunk.status.WorldGenContext;
import org.bukkit.World;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.event.EventHandler;
@ -12,7 +10,6 @@ import org.bukkit.event.world.WorldInitEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.reflect.Field;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.locks.ReentrantLock;
@ -40,24 +37,8 @@ public class NMSInjectListener implements Listener {
ChunkGenerator vanilla = serverWorld.getChunkSource().getGenerator();
NMSBiomeProvider provider = new NMSBiomeProvider(pack.getBiomeProvider(), craftWorld.getSeed());
ChunkMap chunkMap = serverWorld.getChunkSource().chunkMap;
try {
Field worldGenContextField = chunkMap.getClass().getDeclaredField("worldGenContext");
worldGenContextField.setAccessible(true);
WorldGenContext worldGenContext = (WorldGenContext) worldGenContextField.get(chunkMap);
worldGenContextField.set(chunkMap,
new WorldGenContext(
worldGenContext.level(),
new NMSChunkGeneratorDelegate(vanilla, pack, provider, craftWorld.getSeed()),
worldGenContext.structureManager(),
worldGenContext.lightEngine(),
worldGenContext.mainThreadMailBox()
));
} catch(NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException(e);
}
serverWorld.getChunkSource().chunkMap.generator = new NMSChunkGeneratorDelegate(vanilla, pack, provider, craftWorld.getSeed());
LOGGER.info("Successfully injected into world.");

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.world.level.LevelHeightAccessor;

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.core.Holder;
import net.minecraft.core.Holder.Reference;

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.bukkit.nms.v1_21;
package com.dfsek.terra.bukkit.nms.v1_20_6;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.Registries;