From 78162eaafe1cc08f40a4fb28e3411b6832227a5e Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Thu, 19 Jun 2025 20:49:57 +0100 Subject: [PATCH] Added vanilla biome key to biome context --- .../com/dfsek/terra/bukkit/world/BukkitBiomeInfo.java | 8 ++++++++ .../dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java | 3 +++ 2 files changed, 11 insertions(+) create mode 100644 platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeInfo.java diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeInfo.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeInfo.java new file mode 100644 index 000000000..8db2a2cfb --- /dev/null +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeInfo.java @@ -0,0 +1,8 @@ +package com.dfsek.terra.bukkit.world; + +import com.dfsek.terra.api.properties.Properties; + +import org.bukkit.NamespacedKey; + + +public record BukkitBiomeInfo(NamespacedKey vanillaBiomeKey) implements Properties {} diff --git a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java index 980194f92..7e69ebe31 100644 --- a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java @@ -2,6 +2,8 @@ package com.dfsek.terra.bukkit.nms.v1_21_6; import com.dfsek.terra.bukkit.nms.v1_21_6.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.world.BukkitBiomeInfo; + import net.minecraft.core.Holder; import net.minecraft.core.Holder.Reference; import net.minecraft.core.HolderSet; @@ -62,6 +64,7 @@ public class AwfulBukkitHacks { Reference holder = biomeRegistry.register(delegateKey, platform, RegistrationInfo.BUILT_IN); Reflection.REFERENCE.invokeBindValue(holder, platform); // IMPORTANT: bind holder. + platformBiome.getContext().put(new BukkitBiomeInfo(vanillaBukkitKey)); platformBiome.getContext().put(new NMSBiomeInfo(delegateKey)); terraBiomeMap.computeIfAbsent(vanillaMinecraftKey, i -> new ArrayList<>()).add(delegateKey.location());