diff --git a/build.gradle b/build.gradle index af6539a..d8eb024 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ subprojects { minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" mappings loom.layered { it.mappings("net.fabricmc:yarn:${rootProject.yarn_mappings}:v2") - it.mappings("dev.architectury:yarn-mappings-patch-neoforge:1.20.5+build.3") + it.mappings("dev.architectury:yarn-mappings-patch-neoforge:1.21+build.4") } } } diff --git a/common/src/main/java/com/terraformersmc/biolith/impl/mixin/MixinChunkGenerator.java b/common/src/main/java/com/terraformersmc/biolith/impl/mixin/MixinChunkGenerator.java new file mode 100644 index 0000000..acf7f54 --- /dev/null +++ b/common/src/main/java/com/terraformersmc/biolith/impl/mixin/MixinChunkGenerator.java @@ -0,0 +1,20 @@ +package com.terraformersmc.biolith.impl.mixin; + +import net.minecraft.world.gen.chunk.ChunkGenerator; +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; + +@Mixin(value = ChunkGenerator.class, priority = 1100) +public class MixinChunkGenerator { + @Inject(method = "initializeIndexedFeaturesList", at = @At("HEAD"), cancellable = true) + private void biolith$disableInitializeIndexedFeaturesList(CallbackInfo ci) { + /* + * NeoForge modifies the chunk generator feature list and their implementation + * breaks Biolith in the End by finalizing a partial list of features. This + * mixin bypasses the method which finalizes the list too early. + */ + ci.cancel(); + } +} diff --git a/common/src/main/resources/biolith.mixins.json b/common/src/main/resources/biolith.mixins.json index 241f842..b190a3f 100644 --- a/common/src/main/resources/biolith.mixins.json +++ b/common/src/main/resources/biolith.mixins.json @@ -5,6 +5,7 @@ "compatibilityLevel": "JAVA_17", "mixins": [ "MixinBiomeSource", + "MixinChunkGenerator", "MixinChunkGeneratorSettings", "MixinDataPackContents", "MixinDimensionOptions", diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 883e5e6..41a1b5c 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -42,6 +42,6 @@ "depends": { "fabricloader": ">=0.15.3", "fabric-api": "*", - "minecraft": ">=1.21-beta <1.22" + "minecraft": ">=1.21 <1.22" } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 16a9659..98affa5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,21 +7,21 @@ archives_base_name=biolith mod_version=dev maven_group=com.terraformersmc #enabled_platforms=fabric,forge,neoforge -enabled_platforms=fabric +enabled_platforms=fabric,neoforge # Common -minecraft_version=1.21-pre2 -yarn_mappings=1.21-pre2+build.2 +minecraft_version=1.21 +yarn_mappings=1.21+build.1 # Fabric -fabric_api_version=0.99.4+1.21 +fabric_api_version=0.100.1+1.21 fabric_loader_version=0.15.11 # Forge -forge_version=1.20.4-49.0.30 +forge_version=1.21-51.0.5 # NeoForge -neoforge_version=20.5.3-beta +neoforge_version=21.0.1-beta ## ## Dependencies @@ -31,7 +31,7 @@ neoforge_version=20.5.3-beta mixinextras_version=0.3.6 # TerraBlender so we can use its API to access its region data -terrablender_version=1.20.6-3.5.0.5 +terrablender_version=1.21-4.0.0.0 # Terraform API for simplex noise implementation terraform_surfaces_api_version=10.0.0 @@ -52,14 +52,14 @@ default_release_type=alpha # CurseForge Metadata curseforge_slug=biolith curseforge_id=852512 -curseforge_game_versions=1.21-Snapshot +curseforge_game_versions=1.21 curseforge_required_dependencies= curseforge_optional_dependencies= # Modrinth Metadata modrinth_slug=biolith modrinth_id=iGEl6Crx -modrinth_game_versions=1.21-pre1, 1.21-pre2 +modrinth_game_versions=1.21 modrinth_mod_loaders= modrinth_required_dependencies= diff --git a/settings.gradle b/settings.gradle index c9e61b0..64b0ea1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -24,4 +24,4 @@ rootProject.name = "biolith" include("common") include("fabric") //include("forge") -//include("neoforge") +include("neoforge")