diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 4867397a3..a0f8703aa 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -16,11 +16,11 @@ repositories { dependencies { //TODO Allow pulling from Versions.kt - implementation("com.gradleup.shadow", "shadow-gradle-plugin", "8.3.1") + implementation("com.gradleup.shadow", "shadow-gradle-plugin", "8.3.6") - implementation("io.papermc.paperweight.userdev", "io.papermc.paperweight.userdev.gradle.plugin", "2.0.0-beta.16") - implementation("org.ow2.asm", "asm", "9.7") - implementation("org.ow2.asm", "asm-tree", "9.7") + implementation("io.papermc.paperweight.userdev", "io.papermc.paperweight.userdev.gradle.plugin", "2.0.0-beta.17") + implementation("org.ow2.asm", "asm", "9.8") + implementation("org.ow2.asm", "asm-tree", "9.8") implementation("com.dfsek.tectonic", "common", "4.2.1") - implementation("org.yaml", "snakeyaml", "2.3") + implementation("org.yaml", "snakeyaml", "2.4") } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/DependencyConfig.kt b/buildSrc/src/main/kotlin/DependencyConfig.kt index dc1c821b1..9887b0803 100644 --- a/buildSrc/src/main/kotlin/DependencyConfig.kt +++ b/buildSrc/src/main/kotlin/DependencyConfig.kt @@ -69,8 +69,8 @@ fun Project.configureDependencies() { } dependencies { - testImplementation("org.junit.jupiter", "junit-jupiter-api", Versions.Libraries.Internal.junit) - testImplementation("org.junit.jupiter", "junit-jupiter-engine", Versions.Libraries.Internal.junit) + testImplementation("org.junit.jupiter", "junit-jupiter", Versions.Libraries.Internal.junit) + "testRuntimeOnly"("org.junit.platform", "junit-platform-launcher") compileOnly("org.jetbrains", "annotations", Versions.Libraries.Internal.jetBrainsAnnotations) compileOnly("com.google.guava", "guava", Versions.Libraries.Internal.guava) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 63456ebb4..2ad818b61 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -11,26 +11,26 @@ object Versions { const val cloud = "2.0.0" - const val caffeine = "3.1.8" - - const val slf4j = "2.0.16" + const val caffeine = "3.2.0" + const val slf4j = "2.0.17" + object Internal { - const val shadow = "8.3.3" - const val apacheText = "1.12.0" - const val apacheIO = "2.17.0" - const val guava = "33.3.1-jre" - const val asm = "9.7.1" - const val snakeYml = "2.3" - const val jetBrainsAnnotations = "26.0.1" - const val junit = "5.11.3" + const val shadow = "8.3.6" + const val apacheText = "1.13.1" + const val apacheIO = "2.19.0" + const val guava = "33.4.8-jre" + const val asm = "9.8" + const val snakeYml = "2.4" + const val jetBrainsAnnotations = "26.0.2" + const val junit = "5.13.0" const val nbt = "6.1" } } object Fabric { - const val fabricAPI = "0.118.0+${Mod.minecraft}" - const val cloud = "2.0.0-beta.9" + const val fabricAPI = "0.125.3+${Mod.minecraft}" + const val cloud = "2.0.0-beta.10" } // // object Quilt { @@ -39,13 +39,13 @@ object Versions { // } object Mod { - const val mixin = "0.15.3+mixin.0.8.7" + const val mixin = "0.15.5+mixin.0.8.7" - const val minecraft = "1.21.4" - const val yarn = "$minecraft+build.8" - const val fabricLoader = "0.16.10" + const val minecraft = "1.21.5" + const val yarn = "$minecraft+build.1" + const val fabricLoader = "0.16.14" - const val architecuryLoom = "1.9.428" + const val architecuryLoom = "1.10.431" const val architecturyPlugin = "3.4.161" } @@ -56,15 +56,14 @@ object Versions { // } object Bukkit { - const val minecraft = "1.21.4" - - const val paperBuild = "$minecraft-R0.1-20250519.180216-226" + const val minecraft = "1.21.5-R0.1" + const val paperBuild = "$minecraft-20250529.121722-14" const val paper = paperBuild const val paperLib = "1.0.8" - const val reflectionRemapper = "0.1.1" - const val paperDevBundle = paperBuild + const val reflectionRemapper = "0.1.2" + const val paperDevBundle = "$minecraft-20250529.121722-99" const val runPaper = "2.3.1" - const val paperWeight = "2.0.0-beta.16" + const val paperWeight = "2.0.0-beta.17" const val cloud = "2.0.0-beta.10" } @@ -76,18 +75,18 @@ object Versions { // } // object CLI { - const val logback = "1.5.8" - const val picocli = "4.7.6" + const val logback = "1.5.18" + const val picocli = "4.7.7" } object Allay { - const val api = "0.2.0" - const val gson = "2.12.1" + const val api = "0.4.1" + const val gson = "2.13.1" const val mappings = "3626653" const val mappingsGenerator = "366618e" } object Minestom { - const val minestom = "1_21_5-69b9a5d844" + const val minestom = "187931e50b" } } diff --git a/common/api/build.gradle.kts b/common/api/build.gradle.kts index b8aad060e..e432b1660 100644 --- a/common/api/build.gradle.kts +++ b/common/api/build.gradle.kts @@ -2,6 +2,7 @@ dependencies { compileOnlyApi("org.slf4j", "slf4j-api", Versions.Libraries.slf4j) testImplementation("org.slf4j", "slf4j-api", Versions.Libraries.slf4j) + api("org.incendo", "cloud-core", Versions.Libraries.cloud) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index a4b76b953..1b33c55ba 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e1b837a19..9128c7d42 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionSha256Sum=845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f5feea6d6..23d15a936 100755 --- a/gradlew +++ b/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -115,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -206,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a2183..db3a6ac20 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/platforms/allay/src/main/java/com/dfsek/terra/allay/Mapping.java b/platforms/allay/src/main/java/com/dfsek/terra/allay/Mapping.java index a29b1a735..222f6f53f 100644 --- a/platforms/allay/src/main/java/com/dfsek/terra/allay/Mapping.java +++ b/platforms/allay/src/main/java/com/dfsek/terra/allay/Mapping.java @@ -16,8 +16,8 @@ import org.allaymc.api.block.type.BlockStateSafeGetter; import org.allaymc.api.block.type.BlockTypes; import org.allaymc.api.item.type.ItemType; import org.allaymc.api.item.type.ItemTypeSafeGetter; +import org.jetbrains.annotations.Nullable; -import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; diff --git a/platforms/allay/src/main/java/com/dfsek/terra/allay/delegate/AllayItemStack.java b/platforms/allay/src/main/java/com/dfsek/terra/allay/delegate/AllayItemStack.java index 8c6b03e35..bf7e59479 100644 --- a/platforms/allay/src/main/java/com/dfsek/terra/allay/delegate/AllayItemStack.java +++ b/platforms/allay/src/main/java/com/dfsek/terra/allay/delegate/AllayItemStack.java @@ -38,7 +38,7 @@ public record AllayItemStack(ItemStack allayItemStack) implements com.dfsek.terr allayItemStack.addEnchantment(enchantment.getType(), enchantment.getLevel()); } allayItemStack.setLore(targetItem.getLore()); - allayItemStack.setDurability(targetItem.getDurability()); + allayItemStack.setDamage(targetItem.getDamage()); allayItemStack.setCustomName(targetItem.getCustomName()); allayItemStack.setMeta(targetItem.getMeta()); } diff --git a/platforms/bukkit/build.gradle.kts b/platforms/bukkit/build.gradle.kts index 8af6d00c3..cfcde1cb1 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_3", configuration = "reobf")) + shaded(project(":platforms:bukkit:nms:v1_21_5", configuration = "reobf")) shaded("xyz.jpenilla", "reflection-remapper", Versions.Bukkit.reflectionRemapper) } @@ -26,6 +26,11 @@ tasks { minecraftVersion(Versions.Bukkit.minecraft) dependsOn(shadowJar) pluginJars(shadowJar.get().archiveFile) + + downloadPlugins { + modrinth("viaversion", "5.3.2") + modrinth("viabackwards", "5.3.2") + } } } 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 b3452714d..9e0d5dce1 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,10 +54,6 @@ public interface Initializer { private static Initializer constructInitializer() { try { String packageVersion = NMS; - if (NMS.equals("v1_21_4")) { - packageVersion = "v1_21_3"; - } - Class initializerClass = Class.forName(TERRA_PACKAGE + "." + packageVersion + ".NMSInitializer"); try { return (Initializer) initializerClass.getConstructor().newInstance(); diff --git a/platforms/bukkit/common/src/main/resources/plugin.yml b/platforms/bukkit/common/src/main/resources/plugin.yml index 782861cfe..7bde40344 100644 --- a/platforms/bukkit/common/src/main/resources/plugin.yml +++ b/platforms/bukkit/common/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: "Terra" main: "com.dfsek.terra.bukkit.TerraBukkitPlugin" version: "@VERSION@" load: "STARTUP" -authors: [ "dfsek", "duplexsystem", "Astrash", "solonovamax", "Sancires", "Aureus", "RogueShade" ] +authors: [ "dfsek", "duplexsystem", "Astrash", "solonovamax", "Sancires", "Aureus", "RogueShade", "OakLoaf" ] website: "@WIKI@" api-version: "1.21.1" description: "@DESCRIPTION@" diff --git a/platforms/bukkit/nms/v1_21_3/build.gradle.kts b/platforms/bukkit/nms/v1_21_5/build.gradle.kts similarity index 100% rename from platforms/bukkit/nms/v1_21_3/build.gradle.kts rename to platforms/bukkit/nms/v1_21_5/build.gradle.kts diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/AwfulBukkitHacks.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java similarity index 98% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/AwfulBukkitHacks.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java index c98037f07..433aece51 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/AwfulBukkitHacks.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/AwfulBukkitHacks.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; -import com.dfsek.terra.bukkit.nms.v1_21_3.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; import net.minecraft.core.Holder; import net.minecraft.core.Holder.Reference; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSAddon.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java similarity index 89% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSAddon.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java index 539b7f97b..b6f4104fd 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSAddon.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSAddon.java @@ -1,11 +1,11 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; 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_3.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; public class NMSAddon extends BukkitAddon { diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInfo.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java similarity index 83% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInfo.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java index de6e7a3ff..745aebbd5 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInfo.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInfo.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInjector.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java similarity index 97% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInjector.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java index 691790be1..077b3953b 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeInjector.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeInjector.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; 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_3.config.VanillaBiomeProperties; +import com.dfsek.terra.bukkit.nms.v1_21_5.config.VanillaBiomeProperties; public class NMSBiomeInjector { diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeProvider.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java similarity index 97% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeProvider.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java index 9cb08b61a..816655acc 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSBiomeProvider.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSBiomeProvider.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import com.mojang.serialization.MapCodec; import net.minecraft.core.Holder; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSChunkGeneratorDelegate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java similarity index 98% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSChunkGeneratorDelegate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java index a8a8d21d1..ba60ac296 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSChunkGeneratorDelegate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSChunkGeneratorDelegate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -116,10 +116,10 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator { if(noise > threshold) { chunk.setBlockState(new BlockPos(x, y, z), ((CraftBlockData) ((BukkitBlockState) delegate .getPalette(x + xi, y, z + zi, world, biomeProvider) - .get(depth, x + xi, y, z + zi, world.getSeed())).getHandle()).getState(), false); + .get(depth, x + xi, y, z + zi, world.getSeed())).getHandle()).getState(), 0); depth++; } else if(noise < airThreshold) { - chunk.setBlockState(new BlockPos(x, y, z), Blocks.AIR.defaultBlockState(), false); + chunk.setBlockState(new BlockPos(x, y, z), Blocks.AIR.defaultBlockState(), 0); } else { depth = 0; } diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInitializer.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java similarity index 92% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInitializer.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java index 2ee41e82a..6a6890933 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInitializer.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInitializer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import com.dfsek.terra.bukkit.BukkitAddon; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInjectListener.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java similarity index 98% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInjectListener.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java index 95b041552..dc496f92d 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSInjectListener.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSInjectListener.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ServerLevel; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSWorldProperties.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java similarity index 94% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSWorldProperties.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java index 0626c4e3d..5eba63e95 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/NMSWorldProperties.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/NMSWorldProperties.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import net.minecraft.world.level.LevelHeightAccessor; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/Reflection.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java similarity index 99% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/Reflection.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java index 8be29690c..cbc92e436 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/Reflection.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/Reflection.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import net.minecraft.core.Holder; import net.minecraft.core.Holder.Reference; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/RegistryFetcher.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java similarity index 94% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/RegistryFetcher.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java index 9266d4102..d0bcb5704 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/RegistryFetcher.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/RegistryFetcher.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3; +package com.dfsek.terra.bukkit.nms.v1_21_5; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeAdditionsSoundTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java similarity index 94% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeAdditionsSoundTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java index ee5781784..3637b8a3c 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeAdditionsSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeAdditionsSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeMoodSoundTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java similarity index 95% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeMoodSoundTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java index 1c67c7052..8120ce38d 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeMoodSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeMoodSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeParticleConfigTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java similarity index 96% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeParticleConfigTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java index f62bd344d..3f2e2322c 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/BiomeParticleConfigTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/BiomeParticleConfigTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/EntityTypeTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java similarity index 92% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/EntityTypeTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java index ea9d002a4..d1139bc3b 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/EntityTypeTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/EntityTypeTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/MusicSoundTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java similarity index 95% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/MusicSoundTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java index 9342aec45..efa055bf5 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/MusicSoundTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/MusicSoundTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SoundEventTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java similarity index 94% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SoundEventTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java index 0c4052f87..a20113bf3 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SoundEventTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SoundEventTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnCostConfig.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java similarity index 94% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnCostConfig.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java index e14305d42..17244f8b4 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnCostConfig.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnCostConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnEntryTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java similarity index 64% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnEntryTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java index 4b730f00f..382c462d8 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnEntryTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnEntryConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; @@ -7,7 +7,7 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData; -public class SpawnEntryTemplate implements ObjectTemplate { +public class SpawnEntryConfig implements ObjectTemplate { @Value("type") @Default private EntityType type = null; @@ -23,9 +23,17 @@ public class SpawnEntryTemplate implements ObjectTemplate { @Value("max-group-size") @Default private Integer maxGroupSize = null; + + public Integer getWeight() { + return weight; + } + + public SpawnerData getSpawnerData() { + return new SpawnerData(type, minGroupSize, maxGroupSize); + } @Override - public SpawnerData get() { - return new SpawnerData(type, weight, minGroupSize, maxGroupSize); + public SpawnEntryConfig get() { + return this; } } diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnSettingsTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java similarity index 86% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnSettingsTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java index 7613d3205..f1087a1ca 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnSettingsTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnSettingsTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; @@ -6,7 +6,6 @@ import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import java.util.List; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.biome.MobSpawnSettings; -import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,8 +32,8 @@ public class SpawnSettingsTemplate implements ObjectTemplate { MobSpawnSettings.Builder builder = new MobSpawnSettings.Builder(); for(SpawnTypeConfig spawn : spawns) { MobCategory group = spawn.getGroup(); - for(SpawnerData entry : spawn.getEntries()) { - builder.addSpawn(group, entry); + for(SpawnEntryConfig entry : spawn.getEntries()) { + builder.addSpawn(group, entry.getWeight(), entry.getSpawnerData()); } } for(SpawnCostConfig cost : costs) { diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnTypeConfig.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java similarity index 74% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnTypeConfig.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java index 4755a3a45..7c8aef664 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/SpawnTypeConfig.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/SpawnTypeConfig.java @@ -1,11 +1,10 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import java.util.List; import net.minecraft.world.entity.MobCategory; -import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData; public class SpawnTypeConfig implements ObjectTemplate { @@ -15,13 +14,13 @@ public class SpawnTypeConfig implements ObjectTemplate { @Value("entries") @Default - private List entries = null; + private List entries = null; public MobCategory getGroup() { return group; } - public List getEntries() { + public List getEntries() { return entries; } diff --git a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VanillaBiomeProperties.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java similarity index 98% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VanillaBiomeProperties.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java index 5df5decf4..0a8e33e0b 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VanillaBiomeProperties.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VanillaBiomeProperties.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.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_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VillagerTypeTemplate.java b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java similarity index 92% rename from platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VillagerTypeTemplate.java rename to platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java index cde3b531d..eb84775d0 100644 --- a/platforms/bukkit/nms/v1_21_3/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_3/config/VillagerTypeTemplate.java +++ b/platforms/bukkit/nms/v1_21_5/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_5/config/VillagerTypeTemplate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.nms.v1_21_3.config; +package com.dfsek.terra.bukkit.nms.v1_21_5.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; diff --git a/platforms/fabric/src/main/resources/fabric.mod.json b/platforms/fabric/src/main/resources/fabric.mod.json index bf203275d..18b4de9a7 100644 --- a/platforms/fabric/src/main/resources/fabric.mod.json +++ b/platforms/fabric/src/main/resources/fabric.mod.json @@ -11,7 +11,8 @@ "solonovamax", "Sancires", "Aureus", - "RogueShade" + "RogueShade", + "OakLoaf" ], "contact": { "homepage": "@WIKI@", diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java index 47b4299a9..e44230f61 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java @@ -44,7 +44,7 @@ import com.dfsek.terra.mod.config.MusicSoundTemplate; import com.dfsek.terra.mod.config.ProtoPlatformBiome; import com.dfsek.terra.mod.config.SoundEventTemplate; import com.dfsek.terra.mod.config.SpawnCostConfig; -import com.dfsek.terra.mod.config.SpawnEntryTemplate; +import com.dfsek.terra.mod.config.SpawnEntryConfig; import com.dfsek.terra.mod.config.SpawnSettingsTemplate; import com.dfsek.terra.mod.config.SpawnTypeConfig; import com.dfsek.terra.mod.config.VillagerTypeTemplate; @@ -94,7 +94,7 @@ public abstract class ModPlatform extends AbstractPlatform { .registerLoader(MusicSound.class, MusicSoundTemplate::new) .registerLoader(EntityType.class, EntityTypeTemplate::new) .registerLoader(SpawnCostConfig.class, SpawnCostConfig::new) - .registerLoader(SpawnEntry.class, SpawnEntryTemplate::new) + .registerLoader(SpawnEntry.class, SpawnEntryConfig::new) .registerLoader(SpawnTypeConfig.class, SpawnTypeConfig::new) .registerLoader(SpawnSettings.class, SpawnSettingsTemplate::new) .registerLoader(VillagerType.class, VillagerTypeTemplate::new); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryTemplate.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryConfig.java similarity index 75% rename from platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryTemplate.java rename to platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryConfig.java index e5b048fba..acc6b1784 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryTemplate.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnEntryConfig.java @@ -8,8 +8,7 @@ import net.minecraft.world.biome.SpawnSettings.SpawnEntry; import com.dfsek.terra.api.util.range.Range; - -public class SpawnEntryTemplate implements ObjectTemplate { +public class SpawnEntryConfig implements ObjectTemplate { @Value("type") @Default private EntityType type = null; @@ -22,8 +21,12 @@ public class SpawnEntryTemplate implements ObjectTemplate { @Default private Range groupSize = null; + public Integer getWeight() { + return weight; + } + @Override public SpawnEntry get() { - return new SpawnEntry(type, weight, groupSize.getMin(), groupSize.getMax()); + return new SpawnEntry(type, groupSize.getMin(), groupSize.getMax()); } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnSettingsTemplate.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnSettingsTemplate.java index a0e8932e5..7c42342ab 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnSettingsTemplate.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnSettingsTemplate.java @@ -5,7 +5,6 @@ import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import net.minecraft.entity.SpawnGroup; import net.minecraft.world.biome.SpawnSettings; -import net.minecraft.world.biome.SpawnSettings.SpawnEntry; import java.util.List; @@ -28,8 +27,8 @@ public class SpawnSettingsTemplate implements ObjectTemplate { SpawnSettings.Builder builder = new SpawnSettings.Builder(); for(SpawnTypeConfig spawn : spawns) { SpawnGroup group = spawn.getGroup(); - for(SpawnEntry entry : spawn.getEntry()) { - builder.spawn(group, entry); + for(SpawnEntryConfig entry : spawn.getEntry()) { + builder.spawn(group, entry.getWeight(), entry.get()); } } for(SpawnCostConfig cost : costs) { diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnTypeConfig.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnTypeConfig.java index 0eba7ca67..8fc5d8656 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnTypeConfig.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/SpawnTypeConfig.java @@ -4,7 +4,6 @@ import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import net.minecraft.entity.SpawnGroup; -import net.minecraft.world.biome.SpawnSettings.SpawnEntry; import java.util.List; @@ -16,13 +15,13 @@ public class SpawnTypeConfig implements ObjectTemplate { @Value("entries") @Default - private List entry = null; + private List entry = null; public SpawnGroup getGroup() { return group; } - public List getEntry() { + public List getEntry() { return entry; } 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 68f059335..db0d1139a 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 @@ -3,6 +3,7 @@ package com.dfsek.terra.mod.config; import com.dfsek.tectonic.api.config.template.ConfigTemplate; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; +import net.minecraft.registry.RegistryKey; import net.minecraft.sound.BiomeAdditionsSound; import net.minecraft.sound.BiomeMoodSound; import net.minecraft.sound.MusicSound; @@ -87,7 +88,8 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { @Value("villager-type") @Default - private VillagerType villagerType = null; + private + RegistryKey villagerType = null; public Integer getGrassColor() { return grassColor; @@ -157,7 +159,7 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties { return spawnSettings; } - public VillagerType getVillagerType() { + public RegistryKey getVillagerType() { return villagerType; } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VillagerTypeTemplate.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VillagerTypeTemplate.java index b4b95416e..66a8951f2 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VillagerTypeTemplate.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/VillagerTypeTemplate.java @@ -4,17 +4,19 @@ import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import net.minecraft.registry.Registries; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; import net.minecraft.util.Identifier; import net.minecraft.village.VillagerType; -public class VillagerTypeTemplate implements ObjectTemplate { +public class VillagerTypeTemplate implements ObjectTemplate> { @Value("id") @Default - private Identifier id = null; + private String id = null; @Override - public VillagerType get() { - return Registries.VILLAGER_TYPE.getEntry(id).orElseThrow().value(); + public RegistryKey get() { + return RegistryKey.of(RegistryKeys.VILLAGER_TYPE, Identifier.ofVanilla(id)); } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java index 026758996..75a3d5fbf 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java @@ -135,10 +135,10 @@ public class MinecraftChunkGeneratorWrapper extends net.minecraft.world.gen.chun if(noise > threshold) { chunk.setBlockState(new BlockPos(x, y, z), (BlockState) delegate .getPalette(x + xi, y, z + zi, world, biomeProvider) - .get(depth, x + xi, y, z + zi, world.getSeed()), false); + .get(depth, x + xi, y, z + zi, world.getSeed()), 0); depth++; } else if(noise < airThreshold) { - chunk.setBlockState(new BlockPos(x, y, z), Blocks.AIR.getDefaultState(), false); + chunk.setBlockState(new BlockPos(x, y, z), Blocks.AIR.getDefaultState(), 0); } else { depth = 0; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/access/VillagerTypeAccessor.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/access/VillagerTypeAccessor.java index 68ae33e35..652512957 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/access/VillagerTypeAccessor.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/access/VillagerTypeAccessor.java @@ -12,7 +12,7 @@ import java.util.Map; @Mixin(VillagerType.class) public interface VillagerTypeAccessor { @Accessor("BIOME_TO_TYPE") - static Map, VillagerType> getBiomeTypeToIdMap() { + static Map, RegistryKey> getBiomeTypeToIdMap() { throw new AssertionError("Untransformed Accessor!"); } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java index cd096cb82..b22b3c49f 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/generalize/ServerWorldMixin.java @@ -45,18 +45,4 @@ public abstract class ServerWorldMixin extends World { } return instance.matchesKey(tRegistryKey); } - - @Redirect(method = "", - at = @At(value = "INVOKE", - target = "Lnet/minecraft/village/raid/RaidManager;nameFor(Lnet/minecraft/registry/entry/RegistryEntry;)" + - "Ljava/lang/String;")) - public String nameForProxy(RegistryEntry dimensionTypeEntry) { - RegistryEntry entry = dimensionTypeEntry; - if(this.getRegistryKey() == World.END) { - Registry dimensionTypeRegistry = getRegistryManager().getOrThrow(RegistryKeys.DIMENSION_TYPE); - entry = dimensionTypeRegistry.getEntry(dimensionTypeRegistry.get(DimensionTypes.THE_NETHER)); - - } - return RaidManager.nameFor(entry); - } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java index 5900bbb8f..10271cf33 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java @@ -55,7 +55,7 @@ public abstract class MobSpawnerBlockEntityMixin extends BlockEntity { public EntityType terra$getSpawnedType() { return (EntityType) Registries.ENTITY_TYPE.getEntry( - Identifier.tryParse(((MobSpawnerLogicAccessor) getLogic()).getSpawnEntry().getNbt().getString("id"))).orElseThrow(); + Identifier.tryParse(((MobSpawnerLogicAccessor) getLogic()).getSpawnEntry().getNbt().getString("id").orElseThrow())).orElseThrow(); } public void terra$setSpawnedType(@NotNull EntityType creatureType) { diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/WorldChunkMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/WorldChunkMixin.java index 1fa3d19b3..53317b7f5 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/WorldChunkMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/WorldChunkMixin.java @@ -47,11 +47,11 @@ public abstract class WorldChunkMixin { @Shadow @Nullable - public abstract net.minecraft.block.BlockState setBlockState(BlockPos pos, net.minecraft.block.BlockState state, boolean moved); + public abstract net.minecraft.block.BlockState setBlockState(BlockPos pos, net.minecraft.block.BlockState state, int flags); public void terra$setBlock(int x, int y, int z, BlockState data, boolean physics) { BlockPos blockPos = new BlockPos(x, y, z); - setBlockState(blockPos, (net.minecraft.block.BlockState) data, false); + setBlockState(blockPos, (net.minecraft.block.BlockState) data, 0); if(physics) { net.minecraft.block.BlockState state = ((net.minecraft.block.BlockState) data); if(state.isLiquid()) { @@ -65,7 +65,7 @@ public abstract class WorldChunkMixin { public void terra$setBlock(int x, int y, int z, @NotNull BlockState blockState) { ((net.minecraft.world.chunk.Chunk) (Object) this).setBlockState(new BlockPos(x, y, z), (net.minecraft.block.BlockState) blockState, - false); + 0); } @Intrinsic diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/data/ProtoChunkMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/data/ProtoChunkMixin.java index 5e5403834..bd8786ffa 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/data/ProtoChunkMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/chunk/data/ProtoChunkMixin.java @@ -40,7 +40,7 @@ public abstract class ProtoChunkMixin { public void terra$setBlock(int x, int y, int z, @NotNull BlockState blockState) { ((net.minecraft.world.chunk.Chunk) (Object) this).setBlockState(new BlockPos(x, y, z), (net.minecraft.block.BlockState) blockState, - false); + 0); } public @NotNull BlockState terra$getBlock(int x, int y, int z) { diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/LifecycleBiomeUtil.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/LifecycleBiomeUtil.java index a408d6844..27fb08f27 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/LifecycleBiomeUtil.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/LifecycleBiomeUtil.java @@ -51,13 +51,35 @@ public final class LifecycleBiomeUtil { Registry registry) { RegistryKey vanilla = ((ProtoPlatformBiome) biome.getPlatformBiome()).get(registry); + if (vanilla == null) { + logger.error(""" + Failed to get Vanilla Biome Regiestry key! + Terra Biome ID: {} + Vanilla Biome: {}""", biome.getID(), biome.getPlatformBiome()); + } if(pack.getContext().get(PreLoadCompatibilityOptions.class).useVanillaBiomes()) { ((ProtoPlatformBiome) biome.getPlatformBiome()).setDelegate(registry.getEntry(registry.get(vanilla))); } else { VanillaBiomeProperties vanillaBiomeProperties = biome.getContext().get(VanillaBiomeProperties.class); - net.minecraft.world.biome.Biome minecraftBiome = BiomeUtil.createBiome(Objects.requireNonNull(registry.get(vanilla)), + + net.minecraft.world.biome.Biome vanilaBiome = registry.get(vanilla); + if (vanilaBiome == null) { + String vanillaBiomeName; + if (vanilla != null ) { + vanillaBiomeName = vanilla.getValue().toString(); + } else { + vanillaBiomeName = "NULL"; + } + logger.error(""" + Failed to get Vanilla Biome! + Terra Biome ID: {} + Vanilla Biome: {}""", biome.getID(), vanillaBiomeName); + return; + } + + net.minecraft.world.biome.Biome minecraftBiome = BiomeUtil.createBiome(Objects.requireNonNull(vanilaBiome), vanillaBiomeProperties); Identifier identifier = Identifier.of("terra", BiomeUtil.createBiomeID(pack, id)); @@ -72,7 +94,7 @@ public final class LifecycleBiomeUtil { minecraftBiome)); } - Map, VillagerType> villagerMap = VillagerTypeAccessor.getBiomeTypeToIdMap(); + Map, RegistryKey> villagerMap = VillagerTypeAccessor.getBiomeTypeToIdMap(); villagerMap.put(RegistryKey.of(RegistryKeys.BIOME, identifier), Objects.requireNonNullElse(vanillaBiomeProperties.getVillagerType(),