From bf6612edd044ba8297e279e91248379e8618990a Mon Sep 17 00:00:00 2001 From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> Date: Sat, 7 Jun 2025 00:17:51 +1400 Subject: [PATCH 01/12] Identify Moonrise worker threads correctly --- .../com/dfsek/terra/AbstractPlatform.java | 24 +++++++++++++++++++ .../com/dfsek/terra/bukkit/PlatformImpl.java | 2 +- .../terra/lifecycle/LifecyclePlatform.java | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java index 6e4e8ad73..e9afb3bd3 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java @@ -31,6 +31,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UncheckedIOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -327,6 +329,28 @@ public abstract class AbstractPlatform implements Platform { return 0; } + + private static final String moonrise = "Moonrise"; + public static int getMoonriseGenerationThreadsWithReflection() { + try { + Class prioritisedThreadPoolClazz = Class.forName("ca.spottedleaf.concurrentutil.executor.thread.PrioritisedThreadPool"); + Method getCoreThreadsMethod = prioritisedThreadPoolClazz.getDeclaredMethod("getCoreThreads"); + getCoreThreadsMethod.setAccessible(true); + Class moonriseCommonClazz = Class.forName("ca.spottedleaf.moonrise.common.util.MoonriseCommon"); + Object pool = moonriseCommonClazz.getDeclaredField("WORKER_POOL").get(null); + int threads = ((Thread[]) getCoreThreadsMethod.invoke(pool)).length; + logger.info("{} found, setting {} generation threads.", moonrise, threads); + return threads; + } catch (ClassNotFoundException e) { + logger.info("{} not found.", moonrise); + } catch (NoSuchMethodException | NoSuchFieldException e) { + logger.warn("{} found, but field/method not found this probably means {0} has changed its code and " + + "Terra has not updated to reflect that.", moonrise); + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("Failed to access thread values in {}, assuming 1 generation thread.", moonrise, e); + } + return 0; + } @Override public void register(TypeRegistry registry) { diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/PlatformImpl.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/PlatformImpl.java index 68ba921ad..32a059721 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/PlatformImpl.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/PlatformImpl.java @@ -57,7 +57,7 @@ public class PlatformImpl extends AbstractPlatform { private int generationThreads; public PlatformImpl(TerraBukkitPlugin plugin) { - generationThreads = getGenerationThreadsWithReflection("ca.spottedleaf.moonrise.common.util.MoonriseCommon", "WORKER_THREADS", "Moonrise"); + generationThreads = getMoonriseGenerationThreadsWithReflection(); if (generationThreads == 0) { generationThreads = 1; } 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..0a658700f 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 @@ -45,7 +45,7 @@ public abstract class LifecyclePlatform extends ModPlatform { public LifecyclePlatform() { generationThreads = getGenerationThreadsWithReflection("com.ishland.c2me.base.common.GlobalExecutors", "GLOBAL_EXECUTOR_PARALLELISM", "C2ME"); if (generationThreads == 0) { - generationThreads = getGenerationThreadsWithReflection("ca.spottedleaf.moonrise.common.util.MoonriseCommon", "WORKER_THREADS", "Moonrise"); + generationThreads = getMoonriseGenerationThreadsWithReflection(); } if (generationThreads == 0) { generationThreads = 1; } From cc5258ce73aaffaa87f7da1f6f1263cf614b1be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Sat, 7 Jun 2025 21:12:26 -0600 Subject: [PATCH 02/12] bump version --- build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8af45b256..d5eb296ef 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ preRelease(true) -versionProjects(":common:api", version("6.6.2")) -versionProjects(":common:implementation", version("6.6.2")) -versionProjects(":platforms", version("6.6.2")) +versionProjects(":common:api", version("6.6.3")) +versionProjects(":common:implementation", version("6.6.3")) +versionProjects(":platforms", version("6.6.3")) allprojects { From 84fa72f96c8c6d0fd0f52576952bb4706df28103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Sat, 7 Jun 2025 22:14:36 -0600 Subject: [PATCH 03/12] Catch all runtime errors when loading packs --- .../java/com/dfsek/terra/registry/master/ConfigRegistry.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java index 28886b354..2b592ba47 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java @@ -55,7 +55,7 @@ public class ConfigRegistry extends OpenRegistryImpl { for(File dir : Objects.requireNonNull(packsFolder.listFiles(File::isDirectory))) { try { load(dir, platform); - } catch(ConfigException e) { + } catch(RuntimeException e) { logger.error("Error loading config pack {}", dir.getName(), e); valid = false; } @@ -65,7 +65,7 @@ public class ConfigRegistry extends OpenRegistryImpl { try { logger.info("Loading ZIP archive: {}", zip.getName()); load(new ZipFile(zip), platform); - } catch(IOException | ConfigException e) { + } catch(IOException | RuntimeException e) { logger.error("Error loading config pack {}", zip.getName(), e); valid = false; } From 20a5bfdd0fcc85e2cb024565dcb0cf9cebbb80e7 Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Tue, 10 Jun 2025 11:44:10 +0100 Subject: [PATCH 04/12] 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 05/12] 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 870634058421db31046c717f1cd3dda54e703e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Thu, 12 Jun 2025 16:25:14 -0600 Subject: [PATCH 06/12] Fix wolves --- .../worldgen/biome/has_wolf_variant/ashen.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/black.json | 6 ++++++ .../biome/has_wolf_variant/chestnut.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/pale.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/rusty.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/snowy.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/spotted.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/striped.json | 6 ++++++ .../worldgen/biome/has_wolf_variant/woods.json | 6 ++++++ .../data/minecraft/wolf_variant/ashen.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/black.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/chestnut.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/pale.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/rusty.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/snowy.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/spotted.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/striped.json | 16 ++++++++++++++++ .../data/minecraft/wolf_variant/woods.json | 16 ++++++++++++++++ 18 files changed, 198 insertions(+) create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/ashen.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/black.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/chestnut.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/pale.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/rusty.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/snowy.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/spotted.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/striped.json create mode 100644 platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/woods.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/ashen.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/black.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/chestnut.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/pale.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/rusty.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/snowy.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/spotted.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/striped.json create mode 100644 platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/woods.json diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/ashen.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/ashen.json new file mode 100644 index 000000000..293c866bc --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/ashen.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:snowy_taiga" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/black.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/black.json new file mode 100644 index 000000000..88b34d59d --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/black.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:old_growth_pine_taiga" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/chestnut.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/chestnut.json new file mode 100644 index 000000000..bbdf9707f --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/chestnut.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:old_growth_spruce_taiga" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/pale.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/pale.json new file mode 100644 index 000000000..416ee9e70 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/pale.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:taiga" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/rusty.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/rusty.json new file mode 100644 index 000000000..566df5542 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/rusty.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#minecraft:is_jungle" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/snowy.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/snowy.json new file mode 100644 index 000000000..1c2ca4832 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/snowy.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:grove" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/spotted.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/spotted.json new file mode 100644 index 000000000..23c18ba27 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/spotted.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#minecraft:is_savanna" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/striped.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/striped.json new file mode 100644 index 000000000..70ccb2695 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/striped.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#minecraft:is_badlands" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/woods.json b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/woods.json new file mode 100644 index 000000000..722b61d30 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/c/tags/worldgen/biome/has_wolf_variant/woods.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:forest" + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/ashen.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/ashen.json new file mode 100644 index 000000000..204c648df --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/ashen.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_ashen_angry", + "tame": "minecraft:entity/wolf/wolf_ashen_tame", + "wild": "minecraft:entity/wolf/wolf_ashen" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/ashen" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/black.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/black.json new file mode 100644 index 000000000..dd97f8c86 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/black.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_black_angry", + "tame": "minecraft:entity/wolf/wolf_black_tame", + "wild": "minecraft:entity/wolf/wolf_black" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/black" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/chestnut.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/chestnut.json new file mode 100644 index 000000000..747ae204e --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/chestnut.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_chestnut_angry", + "tame": "minecraft:entity/wolf/wolf_chestnut_tame", + "wild": "minecraft:entity/wolf/wolf_chestnut" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/chestnut" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/pale.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/pale.json new file mode 100644 index 000000000..72f13b0bc --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/pale.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_angry", + "tame": "minecraft:entity/wolf/wolf_tame", + "wild": "minecraft:entity/wolf/wolf" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/pale" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/rusty.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/rusty.json new file mode 100644 index 000000000..596e8ac7a --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/rusty.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_rusty_angry", + "tame": "minecraft:entity/wolf/wolf_rusty_tame", + "wild": "minecraft:entity/wolf/wolf_rusty" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/rusty" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/snowy.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/snowy.json new file mode 100644 index 000000000..f4dd77019 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/snowy.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_snowy_angry", + "tame": "minecraft:entity/wolf/wolf_snowy_tame", + "wild": "minecraft:entity/wolf/wolf_snowy" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/snowy" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/spotted.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/spotted.json new file mode 100644 index 000000000..1ad0f5770 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/spotted.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_spotted_angry", + "tame": "minecraft:entity/wolf/wolf_spotted_tame", + "wild": "minecraft:entity/wolf/wolf_spotted" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/spotted" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/striped.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/striped.json new file mode 100644 index 000000000..e413164b0 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/striped.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_striped_angry", + "tame": "minecraft:entity/wolf/wolf_striped_tame", + "wild": "minecraft:entity/wolf/wolf_striped" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/striped" + }, + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/woods.json b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/woods.json new file mode 100644 index 000000000..384d155f0 --- /dev/null +++ b/platforms/mixin-common/src/main/resources/data/minecraft/wolf_variant/woods.json @@ -0,0 +1,16 @@ +{ + "assets": { + "angry": "minecraft:entity/wolf/wolf_woods_angry", + "tame": "minecraft:entity/wolf/wolf_woods_tame", + "wild": "minecraft:entity/wolf/wolf_woods" + }, + "spawn_conditions": [ + { + "condition": { + "type": "minecraft:biome", + "biomes": "#c:has_wolf_variant/woods" + }, + "priority": 1 + } + ] +} \ No newline at end of file From c2319ca4ab9765f778b76b708f7d2d655f27f44e Mon Sep 17 00:00:00 2001 From: OakLoaf Date: Fri, 13 Jun 2025 20:17:56 +0100 Subject: [PATCH 07/12] 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 08/12] 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 09/12] 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 10/12] 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 11/12] 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 12/12] 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; }