From 6e097a5056ad343271e21109f593f7cb77e4667e Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 5 Sep 2019 20:11:13 -0400 Subject: More affix work, and some other cleanups --- .../jewelrycraft/item/ItemBaseJewelry.java | 94 +++++++++++++++------- 1 file changed, 66 insertions(+), 28 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java') diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java index 8b477c6..c658f8d 100755 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java @@ -22,6 +22,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.PlayerEvent; @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -52,7 +53,7 @@ public abstract class ItemBaseJewelry extends Item { return JewelrycraftUtil.getColor(JewelryNBT.ingot(stack)); } - return 16777215; + return 0xFFFFFF; } /** @@ -66,12 +67,21 @@ public abstract class ItemBaseJewelry extends Item { String baseName = itemName; + ItemStack gem = JewelryNBT.gem(stack); + if (gem != null) { + if (Item.getIdFromItem(gem.getItem()) > 0) { + String gemName = gem.getDisplayName().replace("Gem|Crystal|Jewel", " ").trim(); + + baseName = gemName + " " + itemName; + } + } + ItemStack ingot = JewelryNBT.ingot(stack); if (ingot != null) { if (Item.getIdFromItem(ingot.getItem()) > 0) { String ingotName = ingot.getDisplayName().replace("Ingot", " ").trim(); - baseName = ingotName + " " + itemName; + baseName = ingotName + " " + baseName; } } @@ -119,39 +129,33 @@ public abstract class ItemBaseJewelry extends Item { + EnumChatFormatting.BLUE + gem.getDisplayName()); } - if (player.isSneaking()) { - ArrayList modifier = JewelryNBT.modifier(stack); + ArrayList modifier = JewelryNBT.modifier(stack); - if (!modifier.isEmpty()) { - list.add(StatCollector.translateToLocal("info." + Variables.MODID + ".modifiers") + ": "); - } + if (!modifier.isEmpty()) { + list.add(StatCollector.translateToLocal("info." + Variables.MODID + ".modifiers") + ": "); + } - for (ItemStack is : modifier) { - list.add(EnumChatFormatting.DARK_PURPLE + is.getDisplayName() + " x" + is.stackSize); - } + for (ItemStack is : modifier) { + list.add(EnumChatFormatting.DARK_PURPLE + is.getDisplayName() + " x" + is.stackSize); + } - String prefix = JewelryNBT.prefix(stack); - String suffix = JewelryNBT.suffix(stack); + String prefix = JewelryNBT.prefix(stack); + String suffix = JewelryNBT.suffix(stack); - if (prefix != null && !prefix.equals("")) { - String translatedPrefix = StatCollector - .translateToLocal("prefix." + Variables.MODID + "." + prefix); - String translatedDesc = StatCollector - .translateToLocal("prefix." + Variables.MODID + "." + prefix + ".desc"); + if (prefix != null && !prefix.equals("")) { + String translatedPrefix = StatCollector.translateToLocal("prefix." + Variables.MODID + "." + prefix); + String translatedDesc = StatCollector + .translateToLocal("prefix." + Variables.MODID + "." + prefix + ".desc"); - list.add(translatedPrefix + ": " + translatedDesc); - } + list.add(EnumChatFormatting.AQUA + translatedPrefix + ": " + translatedDesc); + } - if (suffix != null && !suffix.equals("")) { - String translatedSuffix = StatCollector - .translateToLocal("suffix." + Variables.MODID + "." + prefix); - String translatedDesc = StatCollector - .translateToLocal("suffix." + Variables.MODID + "." + prefix + ".desc"); + if (suffix != null && !suffix.equals("")) { + String translatedSuffix = StatCollector.translateToLocal("suffix." + Variables.MODID + "." + suffix); + String translatedDesc = StatCollector + .translateToLocal("suffix." + Variables.MODID + "." + suffix + ".desc"); - list.add(translatedSuffix + ": " + translatedDesc); - } - } else { - list.add(""); + list.add(EnumChatFormatting.AQUA + translatedSuffix + ": " + translatedDesc); } } } @@ -378,4 +382,38 @@ public abstract class ItemBaseJewelry extends Item { if (suffix != null) suffix.onLivingDropItems(item, player, event, this); } + + public void onPlayerHurt(ItemStack item, EntityPlayer player, LivingHurtEvent event) { + for (ModifierEffect mod : ModifierEffect.getEffects()) { + if (JewelryNBT.doesModifierExist(item, mod.getModifier())) { + mod.onPlayerHurt(item, player, event, this); + } + } + + ModifierEffect prefix = AffixMods.getPrefix(JewelryNBT.prefix(item)); + ModifierEffect suffix = AffixMods.getSuffix(JewelryNBT.suffix(item)); + + if (prefix != null) + prefix.onPlayerHurt(item, player, event, this); + + if (suffix != null) + suffix.onPlayerHurt(item, player, event, this); + } + + public void onEntityHurt(ItemStack item, EntityPlayer player, LivingHurtEvent event) { + for (ModifierEffect mod : ModifierEffect.getEffects()) { + if (JewelryNBT.doesModifierExist(item, mod.getModifier())) { + mod.onEntityHurt(item, player, event, this); + } + } + + ModifierEffect prefix = AffixMods.getPrefix(JewelryNBT.prefix(item)); + ModifierEffect suffix = AffixMods.getSuffix(JewelryNBT.suffix(item)); + + if (prefix != null) + prefix.onEntityHurt(item, player, event, this); + + if (suffix != null) + suffix.onEntityHurt(item, player, event, this); + } } \ No newline at end of file -- cgit v1.2.3