diff --git a/src/main/java/dev/micle/totemofreviving/item/StrawChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/StrawChargeItem.java deleted file mode 100644 index 7bbefe1..0000000 --- a/src/main/java/dev/micle/totemofreviving/item/StrawChargeItem.java +++ /dev/null @@ -1,15 +0,0 @@ -package dev.micle.totemofreviving.item; - -import dev.micle.totemofreviving.TotemOfReviving; -import net.minecraft.item.Item; -import net.minecraft.item.Rarity; - -public class StrawChargeItem extends Item { - public StrawChargeItem() { - super(new Item.Properties().tab(TotemOfReviving.ITEM_GROUP).stacksTo(64).rarity(Rarity.COMMON)); - } - - public static String getName() { - return "straw_charge"; - } -} diff --git a/src/main/java/dev/micle/totemofreviving/item/charge/ChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/charge/ChargeItem.java new file mode 100644 index 0000000..32b3d8d --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/item/charge/ChargeItem.java @@ -0,0 +1,46 @@ +package dev.micle.totemofreviving.item.charge; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.config.Config; +import dev.micle.totemofreviving.item.totem.NetheriteTotemItem; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Rarity; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; + +public class ChargeItem extends Item { + public ChargeItem() { + super(new Item.Properties().tab(TotemOfReviving.ITEM_GROUP).stacksTo(64).rarity(Rarity.COMMON)); + } + + @Override + @OnlyIn(Dist.CLIENT) + @ParametersAreNonnullByDefault + public void appendHoverText(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag tooltipFlag) { + if (isEnabled(stack)) { + tooltip.add(new StringTextComponent(TextFormatting.WHITE + "Used for charging its corresponding totem.")); + } else { + tooltip.add(new StringTextComponent(TextFormatting.RED + "Totem is disabled!")); + } + super.appendHoverText(stack, world, tooltip, tooltipFlag); + } + + public static boolean isEnabled(ItemStack stack) { + Item item = stack.getItem(); + if (item instanceof StrawChargeItem) { return Config.Server.getStrawTotemConfig().getIsEnabled(); } + if (item instanceof IronChargeItem) { return Config.Server.getIronTotemConfig().getIsEnabled(); } + if (item instanceof DiamondChargeItem) { return Config.Server.getDiamondTotemConfig().getIsEnabled(); } + if (item instanceof NetheriteTotemItem) { return Config.Server.getNetheriteTotemConfig().getIsEnabled(); } + return false; + } +} diff --git a/src/main/java/dev/micle/totemofreviving/item/charge/DiamondChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/charge/DiamondChargeItem.java new file mode 100644 index 0000000..917b554 --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/item/charge/DiamondChargeItem.java @@ -0,0 +1,7 @@ +package dev.micle.totemofreviving.item.charge; + +public class DiamondChargeItem extends ChargeItem { + public static String getName() { + return "diamond_charge"; + } +} diff --git a/src/main/java/dev/micle/totemofreviving/item/charge/IronChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/charge/IronChargeItem.java new file mode 100644 index 0000000..0b5ebac --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/item/charge/IronChargeItem.java @@ -0,0 +1,7 @@ +package dev.micle.totemofreviving.item.charge; + +public class IronChargeItem extends ChargeItem { + public static String getName() { + return "iron_charge"; + } +} diff --git a/src/main/java/dev/micle/totemofreviving/item/charge/NetheriteChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/charge/NetheriteChargeItem.java new file mode 100644 index 0000000..07ecdb5 --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/item/charge/NetheriteChargeItem.java @@ -0,0 +1,7 @@ +package dev.micle.totemofreviving.item.charge; + +public class NetheriteChargeItem extends ChargeItem { + public static String getName() { + return "netherite_charge"; + } +} diff --git a/src/main/java/dev/micle/totemofreviving/item/charge/StrawChargeItem.java b/src/main/java/dev/micle/totemofreviving/item/charge/StrawChargeItem.java new file mode 100644 index 0000000..d285a1f --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/item/charge/StrawChargeItem.java @@ -0,0 +1,7 @@ +package dev.micle.totemofreviving.item.charge; + +public class StrawChargeItem extends ChargeItem { + public static String getName() { + return "straw_charge"; + } +}