From 420a4d2b04417a13b25f6cd29d3cbddf9fefc9fc Mon Sep 17 00:00:00 2001 From: patience Date: Tue, 10 Feb 2026 03:33:14 +0000 Subject: [PATCH] Added the Shattered effect Not currently attached to any enemy --- .../patience/mc_rebalance/MCRebalance.java | 1 + .../patience/mc_rebalance/ModEffects.java | 19 ++++++++++++++++++ .../mc_rebalance/ShatteredEffect.java | 13 ++++++++++++ .../mc_rebalance/mixin/BlazeRework.java | 2 +- .../assets/mc_rebalance/lang/en_us.json | 3 ++- .../textures/mob_effect/shattered.png | Bin 0 -> 467 bytes 6 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java create mode 100644 src/main/java/xyz/nearmisses/patience/mc_rebalance/ShatteredEffect.java create mode 100644 src/main/resources/assets/mc_rebalance/textures/mob_effect/shattered.png 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 0000000000000000000000000000000000000000..50c1a2068c2250a9e226fe91fff1d7d7886380b0 GIT binary patch literal 467 zcmV;^0WAKBP)vvFmiL4eR!Gt0U`1v@&hM*e;aw&4SAln3X(StjeP;5sw3?>0G z6y#En95R6EMG2#~@7}}JARAU!mI_W+pFV+;1{ff#Me!Q4B9H{g8=x=%#Td*Gkc*JL zhO7r1{g3XPVFY3ZITaJICSf5#24^Q56ivu{Sk&LYa}}%?YhWYC1bTRY_%JbKbs&RK z5+v00|NML|;BXKY5kd)AaM%D7Ehv00o;wP64TeE5Zyo~XHANL|aGC;n6WM^rPo6U% zdkJO}ii==^FqeV&AdMh!;nFoQjm;3OF2ZIQ%mA2+G5kwS0RYSd!tqe$xJCc~002ov JPDHLkV1l5ewr~Id literal 0 HcmV?d00001