diff --git a/src/main/java/com/aizistral/enigmaticlegacy/items/DeceptionAmulet.java b/src/main/java/com/aizistral/enigmaticlegacy/items/DeceptionAmulet.java new file mode 100644 index 00000000..d47375ed --- /dev/null +++ b/src/main/java/com/aizistral/enigmaticlegacy/items/DeceptionAmulet.java @@ -0,0 +1,49 @@ +package com.aizistral.enigmaticlegacy.items; + +import java.util.List; + +import com.aizistral.enigmaticlegacy.api.items.ICursed; +import com.aizistral.enigmaticlegacy.helpers.ItemLoreHelper; +import com.aizistral.enigmaticlegacy.items.generic.ItemBase; +import com.aizistral.enigmaticlegacy.items.generic.ItemBaseCurio; + +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +public class DeceptionAmulet extends ItemBaseCurio implements ICursed { + + public DeceptionAmulet() { + super(ItemBase.getDefaultProperties().rarity(Rarity.EPIC).stacksTo(1).fireResistant().durability(2)); + } + + @Override + public void appendHoverText(ItemStack stack, Level worldIn, List<Component> list, TooltipFlag flagIn) { + if (Screen.hasShiftDown()) { + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet1"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet2"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet3"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet4"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet5"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.void"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet6"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet7"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet8"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet9"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.void"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet10"); + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.deceptionAmulet11"); + } else { + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.holdShift"); + } + + ItemLoreHelper.addLocalizedString(list, "tooltip.enigmaticlegacy.void"); + ItemLoreHelper.indicateCursedOnesOnly(list); + } + +} diff --git a/src/main/java/com/aizistral/enigmaticlegacy/registries/EnigmaticItems.java b/src/main/java/com/aizistral/enigmaticlegacy/registries/EnigmaticItems.java index 50286af8..a0c96e7f 100644 --- a/src/main/java/com/aizistral/enigmaticlegacy/registries/EnigmaticItems.java +++ b/src/main/java/com/aizistral/enigmaticlegacy/registries/EnigmaticItems.java @@ -423,6 +423,10 @@ public class EnigmaticItems extends AbstractRegistry<Item> { @ObjectHolder(value = MODID + ":cosmic_scroll", registryName = "item") public static final Item COSMIC_SCROLL = null; + @ConfigurableItem("Deception Amulet") + @ObjectHolder(value = MODID + ":deception_amulet", registryName = "item") + public static final Item DECEPTION_AMULET = null; + @ConfigurableItem("The Judgement") @ObjectHolder(value = MODID + ":the_judgement", registryName = "item") public static final Item THE_JUDGEMENT = null; @@ -527,6 +531,7 @@ private EnigmaticItems() { this.register("quote_player", QuotePlayer::new); this.register("insignia", Insignia::new); this.register("cosmic_scroll", CosmicScroll::new); + this.register("deception_amulet", DeceptionAmulet::new); this.register("the_judgement", TheJudgement::new); this.register("soul_dust", SoulDust::new); diff --git a/src/main/resources/assets/enigmaticlegacy/lang/en_us.json b/src/main/resources/assets/enigmaticlegacy/lang/en_us.json index d3a10d18..afefc1e3 100644 --- a/src/main/resources/assets/enigmaticlegacy/lang/en_us.json +++ b/src/main/resources/assets/enigmaticlegacy/lang/en_us.json @@ -109,6 +109,7 @@ "item.enigmaticlegacy.ichor_bottle": "Bottle of Ichor", "item.enigmaticlegacy.quote_player": "Quote Player", "item.enigmaticlegacy.insignia": "Charming Insignia", + "item.enigmaticlegacy.deception_amulet": "Amulet of Deception [WIP]", "item.enigmaticlegacy.the_judgement": "The Judgement", "item.enigmaticlegacy.soul_dust": "Soul Dust", @@ -1002,6 +1003,18 @@ "tooltip.enigmaticlegacy.endAnchor3": "§5Has §6%1$s§5 chance to not spend charge", "tooltip.enigmaticlegacy.endAnchor4": "§5upon respawn.", + "tooltip.enigmaticlegacy.deceptionAmulet1": "§5Allows you to cheat Death itself. Instead", + "tooltip.enigmaticlegacy.deceptionAmulet2": "§5of dying, you recover §615%§5 of your health", + "tooltip.enigmaticlegacy.deceptionAmulet3": "§5and become §6Imperceptible§5 for §65 minutes§5.", + "tooltip.enigmaticlegacy.deceptionAmulet4": "§5To the eyes of others it will appear as", + "tooltip.enigmaticlegacy.deceptionAmulet5": "§5though you have perished.", + "tooltip.enigmaticlegacy.deceptionAmulet6": "§5While §6Imperceptible§5, no other creature", + "tooltip.enigmaticlegacy.deceptionAmulet7": "§5can see or target you, including players.", + "tooltip.enigmaticlegacy.deceptionAmulet8": "§5The effect will vanish if you attempt to", + "tooltip.enigmaticlegacy.deceptionAmulet9": "§5attack or interact with entities/blocks.", + "tooltip.enigmaticlegacy.deceptionAmulet10": "§5The amulet has a cooldown of §610 minutes§5,", + "tooltip.enigmaticlegacy.deceptionAmulet11": "§5and will break after §62 activations§5.", + "tooltip.enigmaticlegacy.theJudgement1": "§5Upon attack, deals damage to every", "tooltip.enigmaticlegacy.theJudgement2": "§5creature within a radius of §6%s§6 blocks§5", "tooltip.enigmaticlegacy.theJudgement3": "§5from the target.", diff --git a/src/main/resources/assets/enigmaticlegacy/models/item/deception_amulet.json b/src/main/resources/assets/enigmaticlegacy/models/item/deception_amulet.json new file mode 100644 index 00000000..77a300d7 --- /dev/null +++ b/src/main/resources/assets/enigmaticlegacy/models/item/deception_amulet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "enigmaticlegacy:item/deception_amulet" + } +}