From 8a8a2724b146a22f188f7740454531c1bdcedcdf Mon Sep 17 00:00:00 2001 From: angel Date: Tue, 23 Dec 2025 01:22:32 -0600 Subject: [PATCH] new: CripplingEnchantmentEffect, blindness and weakness --- .../6d0d0277562259d530fbd3bf702f9148bb4a773a | 7 ++-- .../enchantment/crippling.json | 36 +++++++++++++++++++ .../enchantment/poisoning.json | 2 +- .../enchantment/thundering.json | 2 +- .../enchantment/withering.json | 2 +- .../enchantment/ModEnchantmentEffects.java | 5 +++ .../effect/CripplingEnchantmentEffect.java | 6 ++-- 7 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 src/main/generated/data/more_spear_enchants/enchantment/crippling.json diff --git a/src/main/generated/.cache/6d0d0277562259d530fbd3bf702f9148bb4a773a b/src/main/generated/.cache/6d0d0277562259d530fbd3bf702f9148bb4a773a index 70a29af..67c30f9 100644 --- a/src/main/generated/.cache/6d0d0277562259d530fbd3bf702f9148bb4a773a +++ b/src/main/generated/.cache/6d0d0277562259d530fbd3bf702f9148bb4a773a @@ -1,4 +1,5 @@ // 1.21.11 -999999999-01-01T00:00:00 More Spear Enchantments/ModEnchantmentGenerator -f288993ccfd4a1a816cceedb4192d4250a1aee2e data/more_spear_enchants/enchantment/poisoning.json -26301511d9703bb0aa4f568054802c48bd441405 data/more_spear_enchants/enchantment/thundering.json -a05e3914c688a81cb95ed0afed46f7a5149bf228 data/more_spear_enchants/enchantment/withering.json +9b422d06a47d72f3038701f2dee8ba2b69f0ae48 data/more_spear_enchants/enchantment/crippling.json +5344ffb88ac84ee106698b33d2a371acb43e9e32 data/more_spear_enchants/enchantment/poisoning.json +32bf712156f43dd8d319f624514d5a2988cd9ea9 data/more_spear_enchants/enchantment/thundering.json +fae6996317beaa6871f6706360cd2f6b4e4d9ab7 data/more_spear_enchants/enchantment/withering.json diff --git a/src/main/generated/data/more_spear_enchants/enchantment/crippling.json b/src/main/generated/data/more_spear_enchants/enchantment/crippling.json new file mode 100644 index 0000000..e75039c --- /dev/null +++ b/src/main/generated/data/more_spear_enchants/enchantment/crippling.json @@ -0,0 +1,36 @@ +{ + "anvil_cost": 5, + "description": { + "translate": "enchantment.more_spear_enchants.crippling" + }, + "effects": { + "minecraft:post_attack": [ + { + "affected": "victim", + "effect": { + "type": "more_spear_enchants:crippling", + "duration": { + "type": "minecraft:linear", + "base": 2.0, + "per_level_above_first": 1.0 + } + }, + "enchanted": "attacker" + } + ] + }, + "max_cost": { + "base": 1, + "per_level_above_first": 15 + }, + "max_level": 3, + "min_cost": { + "base": 1, + "per_level_above_first": 10 + }, + "slots": [ + "hand" + ], + "supported_items": "#more_spear_enchants:spears", + "weight": 10 +} \ No newline at end of file diff --git a/src/main/generated/data/more_spear_enchants/enchantment/poisoning.json b/src/main/generated/data/more_spear_enchants/enchantment/poisoning.json index 3bb7744..6a66fa0 100644 --- a/src/main/generated/data/more_spear_enchants/enchantment/poisoning.json +++ b/src/main/generated/data/more_spear_enchants/enchantment/poisoning.json @@ -8,7 +8,7 @@ { "affected": "victim", "effect": { - "type": "more_spear_enchants:poisoning_effect", + "type": "more_spear_enchants:poison", "duration": { "type": "minecraft:linear", "base": 3.0, diff --git a/src/main/generated/data/more_spear_enchants/enchantment/thundering.json b/src/main/generated/data/more_spear_enchants/enchantment/thundering.json index fa301dd..52fda9d 100644 --- a/src/main/generated/data/more_spear_enchants/enchantment/thundering.json +++ b/src/main/generated/data/more_spear_enchants/enchantment/thundering.json @@ -8,7 +8,7 @@ { "affected": "victim", "effect": { - "type": "more_spear_enchants:lightning_effect", + "type": "more_spear_enchants:lightning", "amount": { "type": "minecraft:linear", "base": 0.4, diff --git a/src/main/generated/data/more_spear_enchants/enchantment/withering.json b/src/main/generated/data/more_spear_enchants/enchantment/withering.json index 1791703..4904f07 100644 --- a/src/main/generated/data/more_spear_enchants/enchantment/withering.json +++ b/src/main/generated/data/more_spear_enchants/enchantment/withering.json @@ -8,7 +8,7 @@ { "affected": "victim", "effect": { - "type": "more_spear_enchants:withering_effect", + "type": "more_spear_enchants:withering", "duration": { "type": "minecraft:linear", "base": 2.0, diff --git a/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/ModEnchantmentEffects.java b/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/ModEnchantmentEffects.java index f2cf68f..6f459ec 100644 --- a/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/ModEnchantmentEffects.java +++ b/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/ModEnchantmentEffects.java @@ -29,6 +29,11 @@ public class ModEnchantmentEffects { public static void registerModEnchantmentEffects() { MoreSpearEnchantments.LOGGER.info("Registering EnchantmentEffects for " + MoreSpearEnchantments.MOD_ID); + + register("lightning", LightningEnchantmentEffect.CODEC); + register("poison", PoisonEnchantmentEffect.CODEC); + register("withering", WitheringEnchantmentEffect.CODEC); + register("crippling", CripplingEnchantmentEffect.CODEC); } } diff --git a/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/effect/CripplingEnchantmentEffect.java b/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/effect/CripplingEnchantmentEffect.java index 517f66d..876451b 100644 --- a/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/effect/CripplingEnchantmentEffect.java +++ b/src/main/java/dev/sillyangel/more_spear_enchantments/enchantment/effect/CripplingEnchantmentEffect.java @@ -13,10 +13,10 @@ import net.minecraft.enchantment.EnchantmentLevelBasedValue; import net.minecraft.enchantment.effect.EnchantmentEntityEffect; import net.minecraft.util.math.Vec3d; -public record CripplingEnchantmentEffect(EnchantmentLevelBasedValue duartion) implements EnchantmentEntityEffect { +public record CripplingEnchantmentEffect(EnchantmentLevelBasedValue duration) implements EnchantmentEntityEffect { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( - EnchantmentLevelBasedValue.CODEC.fieldOf("duration").forGetter(CripplingEnchantmentEffect::duartion) + EnchantmentLevelBasedValue.CODEC.fieldOf("duration").forGetter(CripplingEnchantmentEffect::duration) ).apply(instance, CripplingEnchantmentEffect::new) ); @@ -24,7 +24,7 @@ public record CripplingEnchantmentEffect(EnchantmentLevelBasedValue duartion) im public void apply(ServerWorld world, int level, EnchantmentEffectContext context, Entity target, Vec3d pos) { if (target instanceof LivingEntity victim) { if (context.owner() != null && context.owner() instanceof PlayerEntity player) { - int Duration = (int) (this.duartion.getValue(level) * 50); // Convert to ticks + int Duration = (int) (this.duration.getValue(level) * 50); // Convert to ticks int slownessAmplifier = level - 1; // Level 1 = Slowness 0, Level 2 = Slowness I, Level 3 = Slowness II int weaknessAmplifier = level - 1; // Level 1 = Weakness 0, Level 2 = Weakness I, Level 3 = Weakness II victim.addStatusEffect(new StatusEffectInstance(