diff --git a/CHANGELOG b/CHANGELOG index af6078f..e0ff14e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -20,4 +20,6 @@ ## 1.18.2-1.1.2-unstable - added healing back to high effect with lower amplifier - changed block strength of all (non joke) blocks -- 1.1.2 complete \ No newline at end of file + +## 1.18.2-1.1.3-unstable (incomplete) +- added evade enchantment \ No newline at end of file diff --git a/src/main/java/net/arcmods/ryantlg/enchantments/evadeEnchantment.java b/src/main/java/net/arcmods/ryantlg/enchantments/evadeEnchantment.java new file mode 100644 index 0000000..120ab1e --- /dev/null +++ b/src/main/java/net/arcmods/ryantlg/enchantments/evadeEnchantment.java @@ -0,0 +1,53 @@ +package net.arcmods.ryantlg.enchantments; + +import net.arcmods.ryantlg.gameritems; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentTarget; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class evadeEnchantment extends Enchantment { + + public evadeEnchantment() { + super(Enchantment.Rarity.UNCOMMON, EnchantmentTarget.ARMOR_CHEST, new EquipmentSlot[] {EquipmentSlot.HEAD, EquipmentSlot.CHEST, EquipmentSlot.FEET, EquipmentSlot.LEGS}); + } + + @Override + public int getMinPower(int level) { + return 30; + } + @Override + public int getMaxLevel() { + return 4; + } + // public void onTargetDamaged(LivingEntity user, Entity target, int level) { + // if(target instanceof LivingEntity) { + // ((LivingEntity) user).addStatusEffect(new StatusEffectInstance(StatusEffects.SPEED, 20 * 5, level - 1)); + // } + + // super.onTargetDamaged(user, target, level); + // } + @Override + public void onUserDamaged(LivingEntity user, Entity attacker, int level) { + if (attacker instanceof LivingEntity) { + ((LivingEntity) user).addStatusEffect(new StatusEffectInstance(StatusEffects.SPEED, 20 * 7, level)); + ((LivingEntity) attacker).addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 20 * 5, level)); + } + super.onUserDamaged(user, attacker, level); + } + + public static void register() { + Registry.register( + Registry.ENCHANTMENT, + new Identifier("gameritems", "evade"), + new evadeEnchantment() + ); + gameritems.LOGGER.info("evadeEnchantment loaded"); + } + +} diff --git a/src/main/java/net/arcmods/ryantlg/gameritems.java b/src/main/java/net/arcmods/ryantlg/gameritems.java index 1f4a1d4..8264386 100755 --- a/src/main/java/net/arcmods/ryantlg/gameritems.java +++ b/src/main/java/net/arcmods/ryantlg/gameritems.java @@ -5,6 +5,7 @@ import net.arcmods.ryantlg.blocks.FunnyBlocks; import net.arcmods.ryantlg.blocks.jeremiumBlocks; import net.arcmods.ryantlg.blocks.omniumBlocks; import net.arcmods.ryantlg.blocks.oriumBlocks; +import net.arcmods.ryantlg.enchantments.evadeEnchantment; import net.arcmods.ryantlg.items.armour.jeremiumArmour; import net.arcmods.ryantlg.items.armour.notArmour; import net.arcmods.ryantlg.items.armour.omniumArmour; @@ -100,6 +101,8 @@ public class gameritems implements ModInitializer { notArmour.register(); gamerBow.register(); + evadeEnchantment.register(); + } //fight me diff --git a/src/main/java/net/arcmods/ryantlg/todo.txt b/src/main/java/net/arcmods/ryantlg/todo.txt index b57a665..a0b6c4d 100755 --- a/src/main/java/net/arcmods/ryantlg/todo.txt +++ b/src/main/java/net/arcmods/ryantlg/todo.txt @@ -4,4 +4,5 @@ crafting recipes advancements argentine geranine -soulium \ No newline at end of file +soulium +floute \ No newline at end of file diff --git a/src/main/resources/assets/gameritems/lang/en_us.json b/src/main/resources/assets/gameritems/lang/en_us.json index df21cd2..2eb38aa 100755 --- a/src/main/resources/assets/gameritems/lang/en_us.json +++ b/src/main/resources/assets/gameritems/lang/en_us.json @@ -69,6 +69,7 @@ "block.gameritems.deepslate_jeremium_ore": "Deepslate Jeremium Ore", "block.gameritems.deepslate_omnium_ore": "Deepslate Omnium Ore", "block.gameritems.deepslate_orium_ore": "Deepslate Orium Ore", - "item.gameritems.gamer_bow": "Gamer Bow" + "item.gameritems.gamer_bow": "Gamer Bow", + "enchantment.gameritems.evade": "Evade" } \ No newline at end of file