diff --git a/build.gradle b/build.gradle index 99490be..720016b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.5-SNAPSHOT' + id 'fabric-loom' version '0.8-SNAPSHOT' id 'maven-publish' } @@ -21,22 +21,17 @@ dependencies { //to change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modCompile "net.fabricmc:fabric-loader:${project.loader_version}" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" } processResources { inputs.property "version", project.version - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" + filesMatching("fabric.mod.json") { expand "version": project.version } - - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" - } } // ensure that the encoding is set to UTF-8, no matter what the system default is diff --git a/gradle.properties b/gradle.properties index 93b7182..e7d3e4c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,15 +3,15 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.16.4 - yarn_mappings=1.16.4+build.7 + minecraft_version=1.17 + yarn_mappings=1.17+build.13 loader_version=0.10.8 # Mod Properties - mod_version = 1.0.0 + mod_version = 1.1.0 maven_group = eu.midnightdust archives_base_name = swordblocking # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.26.1+1.16 \ No newline at end of file + fabric_version=0.36.1+1.17 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4b7e1f3..f371643 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java b/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java index 0d51744..e76f048 100644 --- a/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java +++ b/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java @@ -2,20 +2,30 @@ package eu.midnightdust.swordblocking; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; +import net.minecraft.client.item.UnclampedModelPredicateProvider; +import net.minecraft.client.world.ClientWorld; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.SwordItem; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; +import org.jetbrains.annotations.Nullable; public class SwordBlockingClient implements ClientModInitializer { @Override public void onInitializeClient() { - Registry.ITEM.forEach((item) -> { - if(item instanceof SwordItem) { - FabricModelPredicateProviderRegistry.register(item, new Identifier("blocking"), (stack, world, entity) -> - entity != null && entity.getOffHandStack().getItem().equals(Items.SHIELD) && entity.isUsingItem() ? 1.0F : 0.0F); + for (Item item : Registry.ITEM) { + if (item instanceof SwordItem) { + FabricModelPredicateProviderRegistry.register(item, new Identifier("blocking"), new UnclampedModelPredicateProvider() { + @Override + public float unclampedCall(ItemStack stack, @Nullable ClientWorld world, @Nullable LivingEntity entity, int seed) { + return entity != null && entity.getOffHandStack().getItem().equals(Items.SHIELD) && entity.isUsingItem() ? 1.0F : 0.0F; + } + }); } - }); + } } }