diff --git a/build.gradle b/build.gradle index a7dd63f..a829aa4 100644 --- a/build.gradle +++ b/build.gradle @@ -27,6 +27,8 @@ repositories { includeGroup "maven.modrinth" } } + + maven { url = "https://maven.bawnorton.com/releases" } } loom { @@ -57,6 +59,10 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}" modImplementation "maven.modrinth:backport-copper-age:1.21.1-0.1.4" + + include(implementation(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.3.7-beta.1"))) + modImplementation "maven.modrinth:platform:gV5SV031" + modImplementation "maven.modrinth:vanillabackport:dQd9n3aB" } processResources { diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModItems.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModItems.java index c866f6e..582e293 100644 --- a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModItems.java +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModItems.java @@ -24,10 +24,9 @@ public class ModItems { } public static Item register(String id, Item.Properties item) { - ResourceKey itemID = ResourceKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id)); - return Registry.register(BuiltInRegistries.ITEM, itemID, new Item(item)); + return register(id, new Item(item)); } - public static Item register(String id, Item item) { // I want either to work. There's probably a better way to do this. + public static Item register(String id, Item item) { // Just in case some strange item makes things complicated. ResourceKey itemID = ResourceKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id)); return Registry.register(BuiltInRegistries.ITEM, itemID, item); } diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/CreakingRework.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/CreakingRework.java new file mode 100644 index 0000000..b5fed67 --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/CreakingRework.java @@ -0,0 +1,24 @@ +package xyz.nearmisses.patience.mc_rebalance.mixin; + +import com.blackgear.vanillabackport.common.level.entities.creaking.Creaking; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Monster; +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.CallbackInfoReturnable; + +@Mixin(Creaking.class) +public class CreakingRework { + @Inject(method="createAttributes", at=@At("RETURN"), cancellable=true) + private static void createAttributes(CallbackInfoReturnable cir) { + cir.setReturnValue( Monster.createMonsterAttributes() + .add(Attributes.MAX_HEALTH, 1.0) + .add(Attributes.MOVEMENT_SPEED, 0.4) + .add(Attributes.ATTACK_DAMAGE, 15.0) + .add(Attributes.FOLLOW_RANGE, 38.0) + .add(Attributes.STEP_HEIGHT, 2.1) // Step over big fences + ); + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 6d881d6..2aa502e 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -38,6 +38,7 @@ "minecraft": "~1.21.1", "java": ">=21", "fabric-api": "*", - "copperagebackport": "*" + "copperagebackport": "*", + "vanillabackport": "*" } } diff --git a/src/main/resources/mc_rebalance.mixins.json b/src/main/resources/mc_rebalance.mixins.json index 43f2458..d7cd29f 100644 --- a/src/main/resources/mc_rebalance.mixins.json +++ b/src/main/resources/mc_rebalance.mixins.json @@ -5,6 +5,7 @@ "mixins": [ "BlazeAIRework", "BlazeRework", + "CreakingRework", "ExperienceOrbRework", "WardenRework", "WitherSkeletonRework" @@ -14,5 +15,5 @@ }, "overwrites": { "requireAnnotations": true - } + } } \ No newline at end of file