From 20a5bfdd0fcc85e2cb024565dcb0cf9cebbb80e7 Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Tue, 10 Jun 2025 11:44:10 +0100 Subject: [PATCH 1/8] Updated bukkit platform to 1.21.6 --- buildSrc/src/main/kotlin/Versions.kt | 6 +++--- platforms/bukkit/build.gradle.kts | 2 +- .../main/java/com/dfsek/terra/bukkit/nms/Initializer.java | 4 ++++ platforms/bukkit/nms/{v1_21_5 => v1_21_6}/build.gradle.kts | 6 ------ .../dfsek/terra/bukkit/nms/v1_21_6}/AwfulBukkitHacks.java | 4 ++-- .../java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSAddon.java | 4 ++-- .../com/dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeInfo.java | 2 +- .../dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeInjector.java | 4 ++-- .../dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeProvider.java | 2 +- .../bukkit/nms/v1_21_6}/NMSChunkGeneratorDelegate.java | 2 +- .../com/dfsek/terra/bukkit/nms/v1_21_6}/NMSInitializer.java | 2 +- .../dfsek/terra/bukkit/nms/v1_21_6}/NMSInjectListener.java | 2 +- .../dfsek/terra/bukkit/nms/v1_21_6}/NMSWorldProperties.java | 2 +- .../com/dfsek/terra/bukkit/nms/v1_21_6}/Reflection.java | 2 +- .../dfsek/terra/bukkit/nms/v1_21_6}/RegistryFetcher.java | 2 +- .../nms/v1_21_6}/config/BiomeAdditionsSoundTemplate.java | 2 +- .../bukkit/nms/v1_21_6}/config/BiomeMoodSoundTemplate.java | 2 +- .../nms/v1_21_6}/config/BiomeParticleConfigTemplate.java | 2 +- .../bukkit/nms/v1_21_6}/config/EntityTypeTemplate.java | 2 +- .../bukkit/nms/v1_21_6}/config/MusicSoundTemplate.java | 2 +- .../bukkit/nms/v1_21_6}/config/SoundEventTemplate.java | 2 +- .../terra/bukkit/nms/v1_21_6}/config/SpawnCostConfig.java | 2 +- .../terra/bukkit/nms/v1_21_6}/config/SpawnEntryConfig.java | 2 +- .../bukkit/nms/v1_21_6}/config/SpawnSettingsTemplate.java | 2 +- .../terra/bukkit/nms/v1_21_6}/config/SpawnTypeConfig.java | 2 +- .../bukkit/nms/v1_21_6}/config/VanillaBiomeProperties.java | 2 +- .../bukkit/nms/v1_21_6}/config/VillagerTypeTemplate.java | 2 +- 27 files changed, 34 insertions(+), 36 deletions(-) rename platforms/bukkit/nms/{v1_21_5 => v1_21_6}/build.gradle.kts (81%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/AwfulBukkitHacks.java (98%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSAddon.java (89%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeInfo.java (83%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeInjector.java (97%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSBiomeProvider.java (97%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSChunkGeneratorDelegate.java (99%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSInitializer.java (92%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSInjectListener.java (98%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/NMSWorldProperties.java (94%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/Reflection.java (99%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/RegistryFetcher.java (94%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/BiomeAdditionsSoundTemplate.java (94%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/BiomeMoodSoundTemplate.java (95%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/BiomeParticleConfigTemplate.java (96%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/EntityTypeTemplate.java (92%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/MusicSoundTemplate.java (95%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/SoundEventTemplate.java (94%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/SpawnCostConfig.java (94%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/SpawnEntryConfig.java (95%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/SpawnSettingsTemplate.java (96%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/SpawnTypeConfig.java (93%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/VanillaBiomeProperties.java (98%) rename platforms/bukkit/nms/{v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5 => v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6}/config/VillagerTypeTemplate.java (92%) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 102a2295d..4380913b1 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -55,12 +55,12 @@ object Versions { // } object Bukkit { - const val minecraft = "1.21.5-R0.1" - const val paperBuild = "$minecraft-20250529.121722-14" + const val minecraft = "1.21.6-R0.1" + const val paperBuild = "$minecraft-20250604.164654-1" const val paper = paperBuild const val paperLib = "1.0.8" const val reflectionRemapper = "0.1.2" - const val paperDevBundle = "$minecraft-20250529.121722-99" + const val paperDevBundle = paperBuild const val runPaper = "2.3.1" const val paperWeight = "2.0.0-beta.17" const val cloud = "2.0.0-beta.10" diff --git a/platforms/bukkit/build.gradle.kts b/platforms/bukkit/build.gradle.kts index cfcde1cb1..35c006deb 100644 --- a/platforms/bukkit/build.gradle.kts +++ b/platforms/bukkit/build.gradle.kts @@ -4,7 +4,7 @@ plugins { dependencies { shaded(project(":platforms:bukkit:common")) - shaded(project(":platforms:bukkit:nms:v1_21_5", configuration = "reobf")) + shaded(project(":platforms:bukkit:nms:v1_21_6")) shaded("xyz.jpenilla", "reflection-remapper", Versions.Bukkit.reflectionRemapper) } diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/nms/Initializer.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/nms/Initializer.java index 9e0d5dce1..923c73df0 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/nms/Initializer.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/nms/Initializer.java @@ -54,6 +54,10 @@ public interface Initializer { private static Initializer constructInitializer() { try { String packageVersion = NMS; + if (NMS.equals("v1_21_5")) { + packageVersion = "v1_21_6"; + } + Class initializerClass = Class.forName(TERRA_PACKAGE + "." + packageVersion + ".NMSInitializer"); try { return (Initializer) initializerClass.getConstructor().newInstance(); diff --git a/platforms/bukkit/nms/v1_21_5/build.gradle.kts b/platforms/bukkit/nms/v1_21_6/build.gradle.kts similarity index 81% rename from platforms/bukkit/nms/v1_21_5/build.gradle.kts rename to platforms/bukkit/nms/v1_21_6/build.gradle.kts index 31cad053a..b521d372a 100644 --- a/platforms/bukkit/nms/v1_21_5/build.gradle.kts +++ b/platforms/bukkit/nms/v1_21_6/build.gradle.kts @@ -6,10 +6,4 @@ dependencies { api(project(":platforms:bukkit:common")) paperweight.paperDevBundle(Versions.Bukkit.paperDevBundle) implementation("xyz.jpenilla", "reflection-remapper", Versions.Bukkit.reflectionRemapper) -} - -tasks { - assemble { - dependsOn("reobfJar") - } } \ No newline at end of file diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java similarity index 98% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java index 433aece51..980194f92 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/AwfulBukkitHacks.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; -import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_6.config.VanillaBiomeProperties; import net.minecraft.core.Holder; import net.minecraft.core.Holder.Reference; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSAddon.java similarity index 89% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSAddon.java index b6f4104fd..7093d0afe 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSAddon.java @@ -1,11 +1,11 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent; import com.dfsek.terra.api.event.functional.FunctionalEventHandler; import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.bukkit.BukkitAddon; import com.dfsek.terra.bukkit.PlatformImpl; -import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_6.config.VanillaBiomeProperties; public class NMSAddon extends BukkitAddon { diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInfo.java similarity index 83% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInfo.java index 745aebbd5..5eb28c122 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInfo.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java similarity index 97% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java index 077b3953b..bc112e129 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.core.Holder; import net.minecraft.core.Registry; @@ -12,7 +12,7 @@ import java.util.Objects; import java.util.Optional; import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_6.config.VanillaBiomeProperties; public class NMSBiomeInjector { diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeProvider.java similarity index 97% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeProvider.java index 816655acc..f9aaaf73d 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeProvider.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import com.mojang.serialization.MapCodec; import net.minecraft.core.Holder; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSChunkGeneratorDelegate.java similarity index 99% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSChunkGeneratorDelegate.java index ba60ac296..6779e31eb 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSChunkGeneratorDelegate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInitializer.java similarity index 92% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInitializer.java index 6a6890933..cdf8a0902 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInitializer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import com.dfsek.terra.bukkit.BukkitAddon; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInjectListener.java similarity index 98% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInjectListener.java index dc496f92d..de651582e 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSInjectListener.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ServerLevel; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSWorldProperties.java similarity index 94% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSWorldProperties.java index 5eba63e95..f60ace995 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSWorldProperties.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.world.level.LevelHeightAccessor; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/Reflection.java similarity index 99% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/Reflection.java index cbc92e436..e7a93da04 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/Reflection.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.core.Holder; import net.minecraft.core.Holder.Reference; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/RegistryFetcher.java similarity index 94% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/RegistryFetcher.java index d0bcb5704..6b231a458 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/RegistryFetcher.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5; +package com.dfsek.terra.bukkit.nms.v1_21_6; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeAdditionsSoundTemplate.java similarity index 94% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeAdditionsSoundTemplate.java index 3637b8a3c..e328bf9b0 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeAdditionsSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeMoodSoundTemplate.java similarity index 95% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeMoodSoundTemplate.java index 8120ce38d..5b872b9f1 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeMoodSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeParticleConfigTemplate.java similarity index 96% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeParticleConfigTemplate.java index 3f2e2322c..ab8facd81 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/BiomeParticleConfigTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/EntityTypeTemplate.java similarity index 92% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/EntityTypeTemplate.java index d1139bc3b..8f6b3d2d4 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/EntityTypeTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/MusicSoundTemplate.java similarity index 95% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/MusicSoundTemplate.java index efa055bf5..e55b47783 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/MusicSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SoundEventTemplate.java similarity index 94% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SoundEventTemplate.java index a20113bf3..9598d5913 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SoundEventTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnCostConfig.java similarity index 94% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnCostConfig.java index 17244f8b4..0f98b1529 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnCostConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnEntryConfig.java similarity index 95% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnEntryConfig.java index 382c462d8..a78b809d2 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnEntryConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnSettingsTemplate.java similarity index 96% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnSettingsTemplate.java index f1087a1ca..850f80075 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnSettingsTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnTypeConfig.java similarity index 93% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnTypeConfig.java index 7c8aef664..ce865d1d6 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/SpawnTypeConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java similarity index 98% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java index 0a8e33e0b..0b8e4c311 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.ConfigTemplate; import com.dfsek.tectonic.api.config.template.annotations.Default; diff --git a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VillagerTypeTemplate.java similarity index 92% rename from platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java rename to platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VillagerTypeTemplate.java index eb84775d0..e38aebb5c 100644 --- a/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VillagerTypeTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_5.config; +package com.dfsek.terra.bukkit.nms.v1_21_6.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; From 9a9f90aa0da2ec0537c37b0beeb797df0d2884e7 Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Tue, 10 Jun 2025 12:01:17 +0100 Subject: [PATCH 2/8] Updated fabric platform to 1.21.6 --- buildSrc/src/main/kotlin/Versions.kt | 7 ++++--- .../java/com/dfsek/terra/lifecycle/LifecyclePlatform.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 4380913b1..bdc8e7b23 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -28,7 +28,8 @@ object Versions { } object Fabric { - const val fabricAPI = "0.125.3+${Mod.minecraft}" + // TODO: Replace "1.21.6 with ${Mod.minecraft}" after 1.21.6 release + const val fabricAPI = "0.126.1+1.21.6" const val cloud = "2.0.0-beta.10" } // @@ -40,8 +41,8 @@ object Versions { object Mod { const val mixin = "0.15.5+mixin.0.8.7" - const val minecraft = "1.21.5" - const val yarn = "$minecraft+build.1" + const val minecraft = "1.21.6-pre3" + const val yarn = "$minecraft+build.5" const val fabricLoader = "0.16.14" const val architecuryLoom = "1.10.431" diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java index a7828ef11..fa39df050 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java @@ -107,7 +107,7 @@ public abstract class LifecyclePlatform extends ModPlatform { super.platformAddon().forEach(addons::add); - String mcVersion = MinecraftVersion.CURRENT.getName(); + String mcVersion = MinecraftVersion.CURRENT.name(); try { addons.add(new EphemeralAddon(Versions.parseVersion(mcVersion), "minecraft")); } catch(ParseException e) { From c2319ca4ab9765f778b76b708f7d2d655f27f44e Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Fri, 13 Jun 2025 20:17:56 +0100 Subject: [PATCH 3/8] Updated to 1.21.6-rc.1 --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index bdc8e7b23..723b8e9fe 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -57,7 +57,7 @@ object Versions { object Bukkit { const val minecraft = "1.21.6-R0.1" - const val paperBuild = "$minecraft-20250604.164654-1" + const val paperBuild = "$minecraft-20250612.174129-4" const val paper = paperBuild const val paperLib = "1.0.8" const val reflectionRemapper = "0.1.2" From 238a7954a7dcfeb22ff5e5959bf38e31de72874f Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Fri, 13 Jun 2025 21:56:54 +0100 Subject: [PATCH 4/8] Added paperweight to bukkit platform for runDevBundleServer task --- platforms/bukkit/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platforms/bukkit/build.gradle.kts b/platforms/bukkit/build.gradle.kts index 35c006deb..26fb7b033 100644 --- a/platforms/bukkit/build.gradle.kts +++ b/platforms/bukkit/build.gradle.kts @@ -1,8 +1,12 @@ plugins { + id("io.papermc.paperweight.userdev") id("xyz.jpenilla.run-paper") version Versions.Bukkit.runPaper } dependencies { + // Required for :platforms:bukkit:runDevBundleServer task + paperweight.paperDevBundle(Versions.Bukkit.paperDevBundle) + shaded(project(":platforms:bukkit:common")) shaded(project(":platforms:bukkit:nms:v1_21_6")) shaded("xyz.jpenilla", "reflection-remapper", Versions.Bukkit.reflectionRemapper) From d743d7d1df9149aebb3f841c5ca52aa24851faec Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Fri, 13 Jun 2025 22:50:55 +0100 Subject: [PATCH 5/8] Updated fabric to rc1 --- buildSrc/src/main/kotlin/Versions.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 723b8e9fe..f5d84adfc 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -41,8 +41,8 @@ object Versions { object Mod { const val mixin = "0.15.5+mixin.0.8.7" - const val minecraft = "1.21.6-pre3" - const val yarn = "$minecraft+build.5" + const val minecraft = "1.21.6-rc1" + const val yarn = "$minecraft+build.1" const val fabricLoader = "0.16.14" const val architecuryLoom = "1.10.431" From 6984dc29d09657dc35b730a41700f3329000100a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Sat, 14 Jun 2025 00:45:32 -0600 Subject: [PATCH 6/8] Fix fabric --- platforms/fabric/build.gradle.kts | 4 +-- ...oveGoalsUnsynchronizedRandomAccessFix.java | 28 ------------------- .../main/resources/terra.common.mixins.json | 1 - platforms/mixin-lifecycle/build.gradle.kts | 8 +++--- .../terra/lifecycle/LifecycleEntryPoint.java | 28 +++++++++---------- 5 files changed, 20 insertions(+), 49 deletions(-) delete mode 100644 platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/fix/BeeMoveGoalsUnsynchronizedRandomAccessFix.java diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index ce627df4f..c90bc19f0 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -26,8 +26,8 @@ dependencies { modImplementation("net.fabricmc:fabric-loader:${Versions.Mod.fabricLoader}") - modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) - include("org.incendo", "cloud-fabric", Versions.Fabric.cloud) +// modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) +// include("org.incendo", "cloud-fabric", Versions.Fabric.cloud) modRuntimeOnly("net.fabricmc.fabric-api", "fabric-api", Versions.Fabric.fabricAPI) } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/fix/BeeMoveGoalsUnsynchronizedRandomAccessFix.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/fix/BeeMoveGoalsUnsynchronizedRandomAccessFix.java deleted file mode 100644 index 188e5b22c..000000000 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/fix/BeeMoveGoalsUnsynchronizedRandomAccessFix.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.dfsek.terra.mod.mixin.fix; - -import net.minecraft.entity.passive.BeeEntity.MoveToFlowerGoal; -import net.minecraft.entity.passive.BeeEntity.MoveToHiveGoal; -import net.minecraft.util.math.random.CheckedRandom; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.World; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import com.dfsek.terra.mod.CommonPlatform; - - -/** - * Bees spawning uses world.random without synchronization. This causes issues when spawning bees during world generation. - */ -@Mixin({ - MoveToHiveGoal.class, - MoveToFlowerGoal.class -}) -public class BeeMoveGoalsUnsynchronizedRandomAccessFix { - @Redirect(method = "", - at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;random:Lnet/minecraft/util/math/random/Random;")) - public Random redirectRandomAccess(World instance) { - return new CheckedRandom(CommonPlatform.get().getServer().getTicks()); // replace with new random seeded by tick time. - } -} diff --git a/platforms/mixin-common/src/main/resources/terra.common.mixins.json b/platforms/mixin-common/src/main/resources/terra.common.mixins.json index 6cfe1161c..7ea2642ac 100644 --- a/platforms/mixin-common/src/main/resources/terra.common.mixins.json +++ b/platforms/mixin-common/src/main/resources/terra.common.mixins.json @@ -9,7 +9,6 @@ "access.StateAccessor", "access.StructureAccessorAccessor", "access.VillagerTypeAccessor", - "fix.BeeMoveGoalsUnsynchronizedRandomAccessFix", "fix.NetherFossilOptimization", "implementations.compat.GenerationSettingsFloraFeaturesMixin", "implementations.terra.BiomeMixin", diff --git a/platforms/mixin-lifecycle/build.gradle.kts b/platforms/mixin-lifecycle/build.gradle.kts index 35461fc0a..e995c487c 100644 --- a/platforms/mixin-lifecycle/build.gradle.kts +++ b/platforms/mixin-lifecycle/build.gradle.kts @@ -15,10 +15,10 @@ dependencies { minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") - modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) { - exclude("net.fabricmc") - exclude("net.fabricmc.fabric-api") - } +// modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) { +// exclude("net.fabricmc") +// exclude("net.fabricmc.fabric-api") +// } } loom { diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java index 48dc88249..010290641 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java @@ -4,9 +4,9 @@ import com.dfsek.terra.api.command.CommandSender; import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent; import net.minecraft.server.command.ServerCommandSource; -import org.incendo.cloud.SenderMapper; -import org.incendo.cloud.execution.ExecutionCoordinator; -import org.incendo.cloud.fabric.FabricServerCommandManager; +//import org.incendo.cloud.SenderMapper; +//import org.incendo.cloud.execution.ExecutionCoordinator; +//import org.incendo.cloud.fabric.FabricServerCommandManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,16 +17,16 @@ public final class LifecycleEntryPoint { public static void initialize(String modName, LifecyclePlatform platform) { logger.info("Initializing Terra {} mod...", modName); - FabricServerCommandManager manager = new FabricServerCommandManager<>( - ExecutionCoordinator.simpleCoordinator(), - SenderMapper.create( - serverCommandSource -> (CommandSender) serverCommandSource, - commandSender -> (ServerCommandSource) commandSender) - ); - - - manager.brigadierManager().setNativeNumberSuggestions(false); - - platform.getEventManager().callEvent(new CommandRegistrationEvent(manager)); +// FabricServerCommandManager manager = new FabricServerCommandManager<>( +// ExecutionCoordinator.simpleCoordinator(), +// SenderMapper.create( +// serverCommandSource -> (CommandSender) serverCommandSource, +// commandSender -> (ServerCommandSource) commandSender) +// ); +// +// +// manager.brigadierManager().setNativeNumberSuggestions(false); +// +// platform.getEventManager().callEvent(new CommandRegistrationEvent(manager)); } } From 280699bbce11b1ea75fbc89d6c2e49396f49f106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Tue, 17 Jun 2025 15:21:21 -0600 Subject: [PATCH 7/8] Update to 1.21.6 and fix a lot of bugs in fabric impl --- buildSrc/build.gradle.kts | 6 ++ buildSrc/src/main/kotlin/DependencyConfig.kt | 6 ++ buildSrc/src/main/kotlin/Versions.kt | 14 ++--- .../bukkit/nms/v1_21_6/NMSBiomeInjector.java | 5 +- .../config/VanillaBiomeProperties.java | 12 ++++ platforms/fabric/build.gradle.kts | 6 +- .../mod/config/VanillaBiomeProperties.java | 16 ++++++ .../com/dfsek/terra/mod/util/BiomeUtil.java | 22 +++++++- platforms/mixin-lifecycle/build.gradle.kts | 10 ++-- .../terra/lifecycle/LifecycleEntryPoint.java | 28 +++++----- .../lifecycle/CreateWorldScreenMixin.java | 27 --------- .../mixin/lifecycle/MinecraftServerMixin.java | 7 --- .../mixin/lifecycle/RegistryLoaderMixin.java | 55 ++++++++++++++----- .../resources/terra.lifecycle.mixins.json | 3 - settings.gradle.kts | 6 ++ 15 files changed, 140 insertions(+), 83 deletions(-) delete mode 100644 platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/CreateWorldScreenMixin.java diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index a0f8703aa..43a36f224 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -6,6 +6,12 @@ plugins { repositories { mavenCentral() gradlePluginPortal() + maven("https://maven.solo-studios.ca/releases") { + name = "Solo Studios" + } + maven("https://maven.solo-studios.ca/snapshots") { + name = "Solo Studios" + } maven("https://repo.codemc.org/repository/maven-public") { name = "CodeMC" } diff --git a/buildSrc/src/main/kotlin/DependencyConfig.kt b/buildSrc/src/main/kotlin/DependencyConfig.kt index 80dd7730d..123ef5bd0 100644 --- a/buildSrc/src/main/kotlin/DependencyConfig.kt +++ b/buildSrc/src/main/kotlin/DependencyConfig.kt @@ -30,6 +30,12 @@ fun Project.configureDependencies() { repositories { mavenCentral() gradlePluginPortal() + maven("https://maven.solo-studios.ca/releases") { + name = "Solo Studios" + } + maven("https://maven.solo-studios.ca/snapshots") { + name = "Solo Studios" + } maven("https://maven.fabricmc.net/") { name = "FabricMC" } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index f5d84adfc..3b1e3b6cc 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -10,7 +10,7 @@ object Versions { const val cloud = "2.0.0" - const val caffeine = "3.2.0" + const val caffeine = "3.2.1" const val slf4j = "2.0.17" @@ -22,14 +22,13 @@ object Versions { const val asm = "9.8" const val snakeYml = "2.4" const val jetBrainsAnnotations = "26.0.2" - const val junit = "5.13.0" + const val junit = "5.13.1" const val nbt = "6.1" } } object Fabric { - // TODO: Replace "1.21.6 with ${Mod.minecraft}" after 1.21.6 release - const val fabricAPI = "0.126.1+1.21.6" + const val fabricAPI = "0.127.0+${Mod.minecraft}" const val cloud = "2.0.0-beta.10" } // @@ -40,8 +39,9 @@ object Versions { object Mod { const val mixin = "0.15.5+mixin.0.8.7" + const val mixinExtras = "0.4.1" - const val minecraft = "1.21.6-rc1" + const val minecraft = "1.21.6" const val yarn = "$minecraft+build.1" const val fabricLoader = "0.16.14" @@ -57,7 +57,7 @@ object Versions { object Bukkit { const val minecraft = "1.21.6-R0.1" - const val paperBuild = "$minecraft-20250612.174129-4" + const val paperBuild = "$minecraft-20250617.170821-8" const val paper = paperBuild const val paperLib = "1.0.8" const val reflectionRemapper = "0.1.2" @@ -67,7 +67,7 @@ object Versions { const val cloud = "2.0.0-beta.10" } - // +// // object Sponge { // const val sponge = "9.0.0-SNAPSHOT" // const val mixin = "0.8.2" diff --git a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java index bc112e129..5be493ca7 100644 --- a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java @@ -33,9 +33,8 @@ public class NMSBiomeInjector { .waterColor(Objects.requireNonNullElse(vanillaBiomeProperties.getWaterColor(), vanilla.getWaterColor())) .waterFogColor(Objects.requireNonNullElse(vanillaBiomeProperties.getWaterFogColor(), vanilla.getWaterFogColor())) .skyColor(Objects.requireNonNullElse(vanillaBiomeProperties.getSkyColor(), vanilla.getSkyColor())) - .grassColorModifier(Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColorModifier(), vanilla.getSpecialEffects().getGrassColorModifier())); -// .grassColorOverride(Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColor(), vanilla.getSpecialEffects().getGrassColorOverride().orElseGet(() -> Reflection.BIOME.invokeGrassColorFromTexture(vanilla)))) -// .foliageColorOverride(Objects.requireNonNullElse(vanillaBiomeProperties.getFoliageColor(), vanilla.getFoliageColor())); + .grassColorModifier(Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColorModifier(), vanilla.getSpecialEffects().getGrassColorModifier())) + .backgroundMusicVolume(Objects.requireNonNullElse(vanillaBiomeProperties.getMusicVolume(), vanilla.getMusicVolume())); if(vanillaBiomeProperties.getGrassColor() == null) { vanilla.getSpecialEffects().getGrassColorOverride().ifPresent(effects::grassColorOverride); diff --git a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java index 0b8e4c311..f516b7c79 100644 --- a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java @@ -38,6 +38,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { @Default private Integer foliageColor = null; + @Value("colors.dry-foliage") + @Default + private Integer dryFoliageColor = null; + @Value("colors.sky") @Default private Integer skyColor = null; @@ -82,6 +86,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { @Default private Music music = null; + @Value("sound.music-volume") + @Default + private Float musicVolume = null; + @Value("spawning") @Default private MobSpawnSettings spawnSettings = null; @@ -98,6 +106,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { return foliageColor; } + public Integer getDryFoliageColor() { + return dryFoliageColor; + } + public Integer getGrassColor() { return grassColor; } diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index c90bc19f0..7e301083a 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -26,8 +26,10 @@ dependencies { modImplementation("net.fabricmc:fabric-loader:${Versions.Mod.fabricLoader}") -// modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) -// include("org.incendo", "cloud-fabric", Versions.Fabric.cloud) + modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) { + exclude("me.lucko", "fabric-permissions-api") + } + include("org.incendo", "cloud-fabric", Versions.Fabric.cloud) modRuntimeOnly("net.fabricmc.fabric-api", "fabric-api", Versions.Fabric.fabricAPI) } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VanillaBiomeProperties.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VanillaBiomeProperties.java index db0d1139a..154d72867 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VanillaBiomeProperties.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VanillaBiomeProperties.java @@ -38,6 +38,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { @Default private Integer foliageColor = null; + @Value("colors.dry-foliage") + @Default + private Integer dryFoliageColor = null; + @Value("colors.sky") @Default private Integer skyColor = null; @@ -82,6 +86,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { @Default private MusicSound music = null; + @Value("sound.music-volume") + @Default + private Float musicVolume = null; + @Value("spawning") @Default private SpawnSettings spawnSettings = null; @@ -111,6 +119,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { return foliageColor; } + public Integer getDryFoliageColor() { + return dryFoliageColor; + } + public Integer getSkyColor() { return skyColor; } @@ -155,6 +167,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { return music; } + public Float getMusicVolume() { + return musicVolume; + } + public SpawnSettings getSpawnSettings() { return spawnSettings; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java index a5b406bf7..b3ee4c774 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java @@ -35,9 +35,25 @@ public class BiomeUtil { .skyColor(Objects.requireNonNullElse(vanillaBiomeProperties.getSkyColor(), vanilla.getSkyColor())) .grassColorModifier( Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColorModifier(), vanilla.getEffects().getGrassColorModifier())) - .grassColor(Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColor(), - vanilla.getEffects().getGrassColor().orElseGet(() -> ((BiomeInvoker) ((Object) vanilla)).invokeGetDefaultGrassColor()))) - .foliageColor(Objects.requireNonNullElse(vanillaBiomeProperties.getFoliageColor(), vanilla.getFoliageColor())); + .musicVolume(Objects.requireNonNullElse(vanillaBiomeProperties.getMusicVolume(), vanilla.getMusicVolume())); + + if(vanillaBiomeProperties.getGrassColor() == null) { + vanilla.getEffects().getGrassColor().ifPresent(effects::grassColor); + } else { + effects.grassColor(vanillaBiomeProperties.getGrassColor()); + } + + if(vanillaBiomeProperties.getFoliageColor() == null) { + vanilla.getEffects().getFoliageColor().ifPresent(effects::foliageColor); + } else { + effects.foliageColor(vanillaBiomeProperties.getFoliageColor()); + } + + if(vanillaBiomeProperties.getDryFoliageColor() == null) { + vanilla.getEffects().getDryFoliageColor().ifPresent(effects::dryFoliageColor); + } else { + effects.dryFoliageColor(vanillaBiomeProperties.getDryFoliageColor()); + } if(vanillaBiomeProperties.getParticleConfig() == null) { vanilla.getEffects().getParticleConfig().ifPresent(effects::particleConfig); diff --git a/platforms/mixin-lifecycle/build.gradle.kts b/platforms/mixin-lifecycle/build.gradle.kts index e995c487c..f93b86cbe 100644 --- a/platforms/mixin-lifecycle/build.gradle.kts +++ b/platforms/mixin-lifecycle/build.gradle.kts @@ -7,6 +7,7 @@ dependencies { shadedApi(project(":common:implementation:base")) compileOnly("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") + compileOnly("io.github.llamalad7:mixinextras-common:${Versions.Mod.mixinExtras}") annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") annotationProcessor("dev.architectury:architectury-loom:${Versions.Mod.architecuryLoom}") @@ -15,10 +16,11 @@ dependencies { minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") -// modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) { -// exclude("net.fabricmc") -// exclude("net.fabricmc.fabric-api") -// } + modImplementation("org.incendo", "cloud-fabric", Versions.Fabric.cloud) { + exclude("net.fabricmc") + exclude("net.fabricmc.fabric-api") + exclude("me.lucko", "fabric-permissions-api") + } } loom { diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java index 010290641..48dc88249 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecycleEntryPoint.java @@ -4,9 +4,9 @@ import com.dfsek.terra.api.command.CommandSender; import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent; import net.minecraft.server.command.ServerCommandSource; -//import org.incendo.cloud.SenderMapper; -//import org.incendo.cloud.execution.ExecutionCoordinator; -//import org.incendo.cloud.fabric.FabricServerCommandManager; +import org.incendo.cloud.SenderMapper; +import org.incendo.cloud.execution.ExecutionCoordinator; +import org.incendo.cloud.fabric.FabricServerCommandManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,16 +17,16 @@ public final class LifecycleEntryPoint { public static void initialize(String modName, LifecyclePlatform platform) { logger.info("Initializing Terra {} mod...", modName); -// FabricServerCommandManager manager = new FabricServerCommandManager<>( -// ExecutionCoordinator.simpleCoordinator(), -// SenderMapper.create( -// serverCommandSource -> (CommandSender) serverCommandSource, -// commandSender -> (ServerCommandSource) commandSender) -// ); -// -// -// manager.brigadierManager().setNativeNumberSuggestions(false); -// -// platform.getEventManager().callEvent(new CommandRegistrationEvent(manager)); + FabricServerCommandManager manager = new FabricServerCommandManager<>( + ExecutionCoordinator.simpleCoordinator(), + SenderMapper.create( + serverCommandSource -> (CommandSender) serverCommandSource, + commandSender -> (ServerCommandSource) commandSender) + ); + + + manager.brigadierManager().setNativeNumberSuggestions(false); + + platform.getEventManager().callEvent(new CommandRegistrationEvent(manager)); } } diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/CreateWorldScreenMixin.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/CreateWorldScreenMixin.java deleted file mode 100644 index 61f385939..000000000 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/CreateWorldScreenMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.dfsek.terra.lifecycle.mixin.lifecycle; - - -import com.dfsek.terra.api.Platform; - -import com.dfsek.terra.mod.CommonPlatform; - -import com.dfsek.terra.mod.ModPlatform; - -import net.minecraft.client.gui.screen.world.CreateWorldScreen; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import static com.dfsek.terra.lifecycle.util.LifecycleUtil.initialized; - - -@Mixin(CreateWorldScreen.class) -public class CreateWorldScreenMixin { - @Inject(method = "onCloseScreen()V", at = @At("HEAD")) - public void onClose(CallbackInfo ci) { - ModPlatform platform = CommonPlatform.get(); - platform.getRawConfigRegistry().clear(); - initialized = false; - } -} diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/MinecraftServerMixin.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/MinecraftServerMixin.java index 2526079ed..e59eacd2f 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/MinecraftServerMixin.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/MinecraftServerMixin.java @@ -34,11 +34,4 @@ public class MinecraftServerMixin { WorldGenerationProgressListenerFactory worldGenerationProgressListenerFactory, CallbackInfo ci) { LifecyclePlatform.setServer((MinecraftServer) (Object) this); } - - @Inject(method = "shutdown()V", at = @At("RETURN")) - private void injectShutdown(CallbackInfo ci) { - ModPlatform platform = CommonPlatform.get(); - platform.getRawConfigRegistry().clear(); - initialized = false; - } } diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java index c04e0fad7..10b840aae 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java @@ -1,5 +1,8 @@ package com.dfsek.terra.lifecycle.mixin.lifecycle; +import com.dfsek.terra.mod.CommonPlatform; +import com.dfsek.terra.mod.ModPlatform; + import net.minecraft.enchantment.Enchantment; import net.minecraft.registry.MutableRegistry; import net.minecraft.registry.Registry; @@ -7,6 +10,7 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryLoader; import net.minecraft.registry.RegistryLoader.Loader; +import net.minecraft.registry.RegistryWrapper; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; import net.minecraft.world.dimension.DimensionType; @@ -18,10 +22,27 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Coerce; +import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; +import com.llamalad7.mixinextras.sugar.Local; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Coerce; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import net.minecraft.registry.DynamicRegistryManager; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryLoader; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.resource.ResourceManager; + import java.util.List; import java.util.Optional; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import com.dfsek.terra.lifecycle.LifecyclePlatform; @@ -38,31 +59,39 @@ public class RegistryLoaderMixin { @Final private static Logger LOGGER; - @Redirect( + @Unique + private static final AtomicBoolean LOADING_DYNAMIC_REGISTRIES = new AtomicBoolean(false); + + @Inject(method = "loadFromResource(Lnet/minecraft/resource/ResourceManager;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/registry/DynamicRegistryManager$Immutable;", at = @At("HEAD")) + private static void loadFromResources(ResourceManager resourceManager, List> registries, List> entries, CallbackInfoReturnable cir) { + LOADING_DYNAMIC_REGISTRIES.set(entries.stream().anyMatch(entry -> entry.key() == RegistryKeys.BIOME)); + } + + @Inject( method = "load(Lnet/minecraft/registry/RegistryLoader$RegistryLoadable;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/registry/DynamicRegistryManager$Immutable;", at = @At( value = "INVOKE", target = "Ljava/util/List;forEach(Ljava/util/function/Consumer;)V", - ordinal = 1 // we want right after the first forEach - ) + ordinal = 1 + ) ) - private static void grabManager(List> instance, Consumer> consumer) { - if(!initialized) { - MutableRegistry biomes = extractRegistry(instance, RegistryKeys.BIOME).orElseThrow(); - MutableRegistry dimensionTypes = extractRegistry(instance, RegistryKeys.DIMENSION_TYPE).orElseThrow(); - MutableRegistry worldPresets = extractRegistry(instance, RegistryKeys.WORLD_PRESET).orElseThrow(); - MutableRegistry chunkGeneratorSettings = extractRegistry(instance, + private static void beforeFreeze(@Coerce Object loadable, List> wrappers, List> entries, CallbackInfoReturnable cir, @Local(ordinal = 2) List> registriesList) { + if (LOADING_DYNAMIC_REGISTRIES.getAndSet(false)) { + ModPlatform platform = CommonPlatform.get(); + platform.getRawConfigRegistry().clear(); + MutableRegistry biomes = extractRegistry(registriesList, RegistryKeys.BIOME).orElseThrow(); + MutableRegistry dimensionTypes = extractRegistry(registriesList, RegistryKeys.DIMENSION_TYPE).orElseThrow(); + MutableRegistry worldPresets = extractRegistry(registriesList, RegistryKeys.WORLD_PRESET).orElseThrow(); + MutableRegistry chunkGeneratorSettings = extractRegistry(registriesList, RegistryKeys.CHUNK_GENERATOR_SETTINGS).orElseThrow(); - MutableRegistry multiNoiseBiomeSourceParameterLists = extractRegistry(instance, + MutableRegistry multiNoiseBiomeSourceParameterLists = extractRegistry(registriesList, RegistryKeys.MULTI_NOISE_BIOME_SOURCE_PARAMETER_LIST).orElseThrow(); - MutableRegistry enchantments = extractRegistry(instance, RegistryKeys.ENCHANTMENT).orElseThrow(); + MutableRegistry enchantments = extractRegistry(registriesList, RegistryKeys.ENCHANTMENT).orElseThrow(); LifecyclePlatform.setRegistries(biomes, dimensionTypes, chunkGeneratorSettings, multiNoiseBiomeSourceParameterLists, enchantments); LifecycleUtil.initialize(biomes, worldPresets); - initialized = true; } - instance.forEach(consumer); } @Unique diff --git a/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json b/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json index 0646899cf..26e9f9006 100644 --- a/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json +++ b/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json @@ -12,9 +12,6 @@ "lifecycle.RegistryLoaderMixin", "lifecycle.SaveLoadingMixin" ], - "client": [ - "lifecycle.CreateWorldScreenMixin" - ], "server": [ ], "injectors": { diff --git a/settings.gradle.kts b/settings.gradle.kts index 86bb41bfb..213ede72c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -26,6 +26,12 @@ include(":platforms:minestom:example") pluginManagement { repositories { gradlePluginPortal() + maven("https://maven.solo-studios.ca/releases") { + name = "Solo Studios" + } + maven("https://maven.solo-studios.ca/snapshots") { + name = "Solo Studios" + } maven("https://maven.fabricmc.net") { name = "Fabric Maven" } From 4041239b03e5f65fe357b202bfaf926a94314ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Tue, 17 Jun 2025 15:28:47 -0600 Subject: [PATCH 8/8] fix build --- .../com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java | 2 +- .../bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java index 5be493ca7..dd2f2790b 100644 --- a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/NMSBiomeInjector.java @@ -34,7 +34,7 @@ public class NMSBiomeInjector { .waterFogColor(Objects.requireNonNullElse(vanillaBiomeProperties.getWaterFogColor(), vanilla.getWaterFogColor())) .skyColor(Objects.requireNonNullElse(vanillaBiomeProperties.getSkyColor(), vanilla.getSkyColor())) .grassColorModifier(Objects.requireNonNullElse(vanillaBiomeProperties.getGrassColorModifier(), vanilla.getSpecialEffects().getGrassColorModifier())) - .backgroundMusicVolume(Objects.requireNonNullElse(vanillaBiomeProperties.getMusicVolume(), vanilla.getMusicVolume())); + .backgroundMusicVolume(Objects.requireNonNullElse(vanillaBiomeProperties.getMusicVolume(), vanilla.getBackgroundMusicVolume())); if(vanillaBiomeProperties.getGrassColor() == null) { vanilla.getSpecialEffects().getGrassColorOverride().ifPresent(effects::grassColorOverride); diff --git a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java index f516b7c79..8eec35bf1 100644 --- a/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java +++ b/platforms/bukkit/nms/v1_21_6/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_6/config/VanillaBiomeProperties.java @@ -166,6 +166,10 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { return music; } + public Float getMusicVolume() { + return musicVolume; + } + public MobSpawnSettings getSpawnSettings() { return spawnSettings; }