diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/MCRebalance.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/MCRebalance.java index 82b6e78..f06ac24 100644 --- a/src/main/java/xyz/nearmisses/patience/mc_rebalance/MCRebalance.java +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/MCRebalance.java @@ -17,6 +17,7 @@ public class MCRebalance implements ModInitializer { ModItems.init(); // Initialise: load all static values ModBlocks.init(); + ModEffects.init(); LOGGER.info("Hello Fabric world!"); } } \ No newline at end of file diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java new file mode 100644 index 0000000..cbdf543 --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java @@ -0,0 +1,19 @@ +package xyz.nearmisses.patience.mc_rebalance; + +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.effect.MobEffect; + +public class ModEffects { + public static void init(){} + + public static MobEffect register(String id, MobEffect effect) { + ResourceKey effectID = ResourceKey.create(Registries.MOB_EFFECT, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id)); + return Registry.register(BuiltInRegistries.MOB_EFFECT, effectID, effect); + } + + public static final MobEffect Effect_Shattered = register("shattered", new ShatteredEffect()); +} diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ShatteredEffect.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ShatteredEffect.java new file mode 100644 index 0000000..1a09714 --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ShatteredEffect.java @@ -0,0 +1,13 @@ +package xyz.nearmisses.patience.mc_rebalance; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.ai.attributes.*; + +public class ShatteredEffect extends MobEffect { + protected ShatteredEffect() { + super(MobEffectCategory.HARMFUL, 0x0f171c); // Particle colour + this.addAttributeModifier(Attributes.ARMOR, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, "shattered"), -2.0, AttributeModifier.Operation.ADD_VALUE); + } +} diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/BlazeRework.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/BlazeRework.java index 0c80b9d..495cfd7 100644 --- a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/BlazeRework.java +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/BlazeRework.java @@ -18,7 +18,7 @@ public class BlazeRework { .add(Attributes.ATTACK_DAMAGE, 3.0) // Hits more often with lower-damage magic attacks .add(Attributes.MOVEMENT_SPEED, 0.3F) // Moves faster BUT melee aggro range is unchanged so they still don't want to use it .add(Attributes.FOLLOW_RANGE, 48.0) // Unchanged - .add(Attributes.ARMOR, 4.0) // More durable + .add(Attributes.ARMOR, 4.0) // Slightly more durable ); } } diff --git a/src/main/resources/assets/mc_rebalance/lang/en_us.json b/src/main/resources/assets/mc_rebalance/lang/en_us.json index d6decd6..92e7f1c 100644 --- a/src/main/resources/assets/mc_rebalance/lang/en_us.json +++ b/src/main/resources/assets/mc_rebalance/lang/en_us.json @@ -13,5 +13,6 @@ "item.mc_rebalance.iron_paxel": "Iron Paxel", "item.mc_rebalance.golden_paxel": "Golden Paxel", "item.mc_rebalance.diamond_paxel": "Diamond Paxel", - "item.mc_rebalance.netherite_paxel": "Dendrite Paxel" + "item.mc_rebalance.netherite_paxel": "Dendrite Paxel", + "effect.mc_rebalance.shattered": "Shattered" } diff --git a/src/main/resources/assets/mc_rebalance/textures/mob_effect/shattered.png b/src/main/resources/assets/mc_rebalance/textures/mob_effect/shattered.png new file mode 100644 index 0000000..50c1a20 Binary files /dev/null and b/src/main/resources/assets/mc_rebalance/textures/mob_effect/shattered.png differ