diff options
author | Linnea Gräf <nea@nea.moe> | 2024-12-09 13:48:52 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-12-09 13:48:52 +0100 |
commit | 706a03807b12ddd5e7c46a72fc27aa30e1f9b60f (patch) | |
tree | 48f34b1f5ac0cd1f8c281fb9b49c845ced7eddf0 | |
parent | 4ae0fd617489a4a18edfbdd6343d88add8b234a7 (diff) | |
download | Firmament-706a03807b12ddd5e7c46a72fc27aa30e1f9b60f.tar.gz Firmament-706a03807b12ddd5e7c46a72fc27aa30e1f9b60f.tar.bz2 Firmament-706a03807b12ddd5e7c46a72fc27aa30e1f9b60f.zip |
WIP: re-add gender mod
-rw-r--r-- | build.gradle.kts | 3 | ||||
-rw-r--r-- | gradle/libs.versions.toml | 2 | ||||
-rw-r--r-- | javaplugin/build.gradle.kts | 20 | ||||
-rw-r--r-- | src/compat/wildfireGender/java/moe/nea/firmament/mixins/compat/wildfiregender/PatchArmorTexturesInGenderMod.java | 32 |
4 files changed, 22 insertions, 35 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index 12f8d52..46fe2f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -221,7 +221,7 @@ val citResewnSourceSet = createIsolatedSourceSet("citresewn", isEnabled = false) val yaclSourceSet = createIsolatedSourceSet("yacl", isEnabled = false) val explosiveEnhancementSourceSet = createIsolatedSourceSet("explosiveEnhancement", isEnabled = false) // TODO: wait for their port -val wildfireGenderSourceSet = createIsolatedSourceSet("wildfireGender", isEnabled = false) // TODO: wait on their port +val wildfireGenderSourceSet = createIsolatedSourceSet("wildfireGender") val modmenuSourceSet = createIsolatedSourceSet("modmenu", isEnabled = false) val reiSourceSet = createIsolatedSourceSet("rei") val moulconfigSourceSet = createIsolatedSourceSet("moulconfig", isEnabled = false) @@ -268,6 +268,7 @@ dependencies { include(libs.jarvis.fabric) (wildfireGenderSourceSet.modImplementationConfigurationName)(libs.femalegender) + (wildfireGenderSourceSet.implementationConfigurationName)(customTexturesSourceSet.output) (configuredSourceSet.modImplementationConfigurationName)(libs.configured) (sodiumSourceSet.modImplementationConfigurationName)(libs.sodium) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b8ed2f1..4c2aa52 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -37,7 +37,7 @@ freecammod = "1.3.1+mc1.21.3" ncr = "Fabric-1.21.3-v2.10.0" # Update from https://modrinth.com/mod/female-gender/versions?l=fabric -femalegender = "4.3+1.21.4" +femalegender = "4.3.2+1.21.4" # Update from https://modrinth.com/mod/explosive-enhancement/versions?l=fabric explosiveenhancement = "1.2.3-1.21.0" diff --git a/javaplugin/build.gradle.kts b/javaplugin/build.gradle.kts index 9707639..6982a5a 100644 --- a/javaplugin/build.gradle.kts +++ b/javaplugin/build.gradle.kts @@ -1,16 +1,16 @@ plugins { - java + java + idea } dependencies { - implementation("net.fabricmc:stitch:0.6.2") + implementation("net.fabricmc:stitch:0.6.2") } +val compilerModules = listOf("util", "comp", "tree", "api", "code") + .map { "jdk.compiler/com.sun.tools.javac.$it" } + tasks.withType(JavaCompile::class) { - val module = "ALL-UNNAMED" - options.compilerArgs.addAll(listOf( - "--add-exports=jdk.compiler/com.sun.tools.javac.util=$module", - "--add-exports=jdk.compiler/com.sun.tools.javac.comp=$module", - "--add-exports=jdk.compiler/com.sun.tools.javac.tree=$module", - "--add-exports=jdk.compiler/com.sun.tools.javac.api=$module", - "--add-exports=jdk.compiler/com.sun.tools.javac.code=$module", - )) + val module = "ALL-UNNAMED" + options.compilerArgs.addAll( + compilerModules.map { "--add-exports=$it=$module" } + ) } diff --git a/src/compat/wildfireGender/java/moe/nea/firmament/mixins/compat/wildfiregender/PatchArmorTexturesInGenderMod.java b/src/compat/wildfireGender/java/moe/nea/firmament/mixins/compat/wildfiregender/PatchArmorTexturesInGenderMod.java index 723af59..c3e8950 100644 --- a/src/compat/wildfireGender/java/moe/nea/firmament/mixins/compat/wildfiregender/PatchArmorTexturesInGenderMod.java +++ b/src/compat/wildfireGender/java/moe/nea/firmament/mixins/compat/wildfiregender/PatchArmorTexturesInGenderMod.java @@ -1,14 +1,12 @@ package moe.nea.firmament.mixins.compat.wildfiregender; -import com.llamalad7.mixinextras.injector.wrapoperation.Operation; -import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; import com.wildfire.render.GenderArmorLayer; import moe.nea.firmament.features.texturepack.CustomGlobalArmorOverrides; -import net.minecraft.item.ArmorItem; -import net.minecraft.item.ArmorMaterial; +import net.minecraft.component.type.EquippableComponent; +import net.minecraft.entity.EquipmentSlot; import net.minecraft.item.ItemStack; -import net.minecraft.registry.entry.RegistryEntry; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Pseudo; import org.spongepowered.asm.mixin.injection.At; @@ -16,22 +14,10 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(GenderArmorLayer.class) @Pseudo public class PatchArmorTexturesInGenderMod { - @WrapOperation(method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/entity/LivingEntity;FFFFFF)V", - at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ArmorItem;getMaterial()Lnet/minecraft/registry/entry/RegistryEntry;")) - private RegistryEntry<ArmorMaterial> replaceArmorMaterial(ArmorItem instance, Operation<RegistryEntry<ArmorMaterial>> original, @Local ItemStack chestplate) { - var entry = original.call(instance); - var overrides = CustomGlobalArmorOverrides.overrideArmor(chestplate); - if (overrides == null) - return entry; - var material = entry.value(); - return RegistryEntry.of(new ArmorMaterial( - material.defense(), - material.enchantability(), - material.equipSound(), - material.repairIngredient(), - overrides, - material.toughness(), - material.knockbackResistance() - )); - } + @ModifyExpressionValue(method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/entity/state/BipedEntityRenderState;FF)V", + at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;get(Lnet/minecraft/component/ComponentType;)Ljava/lang/Object;")) + private Object replaceArmorMaterial(Object original, @Local ItemStack chestplate) { + var overrides = CustomGlobalArmorOverrides.overrideArmor(chestplate, EquipmentSlot.CHEST); + return overrides.orElse((EquippableComponent) original); + } } |