From c5e04f2c8e0c5393d9a5ef63a87ae4f0094af301 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Thu, 7 May 2015 13:34:21 +0100 Subject: - Added EE3 EMC values, thank you to MineMarteen for providing the ThirdPartyManager code :) - Working on making it possible to translate every part of the mod - Created an interface modders can use to make an item wearable in the jewelry inventory and have special effects --- .../jewelrycraft/item/ItemBaseJewelry.java | 14 +++-- .../darkknight/jewelrycraft/item/ItemGoldObj.java | 9 ++-- .../darkknight/jewelrycraft/item/ItemGuide.java | 59 +++++++++++++++++++++- .../jewelrycraft/item/ItemThiefGloves.java | 35 +++++++------ 4 files changed, 93 insertions(+), 24 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/item') diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java index 4c2b425..dcf7804 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java @@ -25,11 +25,13 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; +import net.minecraftforge.event.entity.player.PlayerEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.JewelrycraftMod; import darkknight.jewelrycraft.api.ModifierEffects; import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; public abstract class ItemBaseJewelry extends Item { @@ -192,11 +194,11 @@ public abstract class ItemBaseJewelry extends Item { if (stack.hasTagCompound() && par4){ ItemStack ingot = JewelryNBT.ingot(stack); - if (ingot != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0) list.add("Metal: " + EnumChatFormatting.YELLOW + ingot.getDisplayName().replace("Ingot", " ")); + if (ingot != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0) list.add(StatCollector.translateToLocal("info." + Variables.MODID + ".metal") +": " + EnumChatFormatting.YELLOW + ingot.getDisplayName().replace(StatCollector.translateToLocal("info." + Variables.MODID + ".ingot"), " ")); ItemStack gem = JewelryNBT.gem(stack); - if (gem != null) list.add("Gem: " + EnumChatFormatting.BLUE + gem.getDisplayName()); + if (gem != null) list.add(StatCollector.translateToLocal("info." + Variables.MODID + ".gem")+": " + EnumChatFormatting.BLUE + gem.getDisplayName()); ArrayList modifier = JewelryNBT.modifier(stack); - if (!modifier.isEmpty()) list.add("Modifiers: "); + if (!modifier.isEmpty()) list.add(StatCollector.translateToLocal("info." + Variables.MODID + ".modifiers")+": "); for(int i = 0; i < modifier.size(); i++) list.add(EnumChatFormatting.DARK_PURPLE + modifier.get(i).getDisplayName() + " x" + modifier.get(i).stackSize); } @@ -265,4 +267,10 @@ public abstract class ItemBaseJewelry extends Item for(ModifierEffects mod: ModifierEffects.getEffects()) mod.onPlayerDead(stack, player, source, this); } + + public void onPlayerRespawn(ItemStack stack, PlayerEvent.Clone event) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + mod.onPlayerRespawn(stack, event, this); + } } diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java index 6d20408..182644b 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java @@ -14,6 +14,7 @@ import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.util.JewelryNBT; @@ -57,13 +58,13 @@ public class ItemGoldObj extends Item public String getItemStackDisplayName(ItemStack stack) { - if (stack != null && stack.hasTagCompound() && stack.getTagCompound().hasKey("target") && Item.getItemById(Integer.valueOf(stack.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName(); - return "Golden Object"; + if (stack != null && stack.hasTagCompound() && stack.getTagCompound().hasKey("target") && Item.getItemById(Integer.valueOf(stack.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null && JewelryNBT.item(stack) != null) return StatCollector.translateToLocal("info." + Variables.MODID + ".golden") + " " + JewelryNBT.item(stack).getDisplayName(); + return StatCollector.translateToLocal("item." + Variables.MODID + ".goldObject.name"); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) { - if (displayInfo) if (stack != null && JewelryNBT.item(stack) != null && JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold! How are you suppose to eat this?"); - else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); + if (displayInfo) if (stack != null && JewelryNBT.item(stack) != null && JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("item." + Variables.MODID + ".goldObject.info.food")); + else list.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("item." + Variables.MODID + ".goldObject.info.standard")); } } diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java index 28d0c76..cf773c8 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java @@ -1,12 +1,18 @@ package darkknight.jewelrycraft.item; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.PlayerEvent.Clone; import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.api.IJewelryItem; -public class ItemGuide extends Item +public class ItemGuide extends Item implements IJewelryItem { public ItemGuide() { @@ -19,4 +25,55 @@ public class ItemGuide extends Item if (world.isRemote) player.openGui(JewelrycraftMod.instance, 1, player.worldObj, 0, 0, 0); return stack; } + + /** + * @return + */ + @Override + public int type() + { + return 0; + } + + /** + * @param player + */ + @Override + public void onWearAction(EntityPlayer player) + { + player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 20, 0)); + } + + /** + * @param player + * @param source + * @param amount + */ + @Override + public void onPlayerAttackedAction(EntityPlayer player, DamageSource source, float amount) + {} + + /** + * @param player + * @param entity + * @param amount + */ + @Override + public void onEntityAttackedByPlayer(EntityPlayer player, EntityLivingBase entity, float amount) + {} + + /** + * @param player + * @param source + */ + @Override + public void onPlayerDeadAction(EntityPlayer player, DamageSource source) + {} + + /** + * @param event + */ + @Override + public void onPlayerRespawnAction(Clone event) + {} } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java index decf34e..204eab4 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java @@ -15,6 +15,7 @@ import net.minecraft.potion.Potion; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; import org.lwjgl.input.Keyboard; @@ -23,6 +24,7 @@ import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; public class ItemThiefGloves extends Item { @@ -45,6 +47,7 @@ public class ItemThiefGloves extends Item @Override public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity) { + String villagerString = StatCollector.translateToLocal("info." + Variables.MODID + ".villager"); if (entity instanceof EntityVillager){ EntityVillager villager = (EntityVillager)entity; int wealth = (Integer)ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "wealth", "field_70956_bz"); @@ -84,37 +87,37 @@ public class ItemThiefGloves extends Item if (player.inventory.addItemStackToInventory(s)) ; else villager.entityDropItem(s, 0); if (!player.capabilities.isCreativeMode) JewelrycraftUtil.addCursePoints(player, 5); - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + ": Hmmm... I seem to have lost my " + s.getDisplayName() + "!")); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + ": "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".villager.confusion") + s.getDisplayName() + "!")); stack.damageItem(1, player); } buyingList.clear(); ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 300, "timeUntilReset", "field_70961_j"); ReflectionHelper.setPrivateValue(EntityVillager.class, villager, true, "needsInitilization", "field_70959_by"); - player.addChatMessage(new ChatComponentText("You hear a faint whisper in your ear: ")); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + "Those who steal but don't get caught get rewarded and do not.")); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + "Embrace the path you have gone, for the darkness will not")); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + "dwell on.")); + player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".whisper")+": ")); + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".stealSuccess1"))); + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".stealSuccess2"))); + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".stealSuccess3"))); }else{ stack.damageItem(1, player); if (!player.capabilities.isCreativeMode) JewelrycraftUtil.addCursePoints(player, 25); if (player.isPotionActive(Potion.invisibility)){ - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + " sensed a strange presence around him, making him cling on to his items. You didn't get anything.")); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + " " +StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal.fail"))); } else{ if (areOtherVillagersAround){ if (!canTheySeeYou){ - player.addChatMessage(new ChatComponentText("As he was passing by, a random villager caught you trying to steal from Villager #" + villager.getProfession() + ".")); - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + " curses you for the attempt.")); + player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal.caught1")+" "+villagerString+" #" + villager.getProfession() + ".")); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal2"))); return true; } else{ - player.addChatMessage(new ChatComponentText("A villager nearby saw you trying to steal from Villager #" + villager.getProfession() + ".")); - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + " curses you for the attempt.")); + player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal.caught2")+" "+villagerString+" #" + villager.getProfession() + ".")); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal2"))); return true; } }else{ - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + " caught you trying to steal from him.")); - player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + " curses you for the attempt.")); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal1"))); + player.addChatMessage(new ChatComponentText(villagerString+" #" + villager.getProfession() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".steal2"))); return true; } } @@ -136,9 +139,9 @@ public class ItemThiefGloves extends Item { if (!shouldAddAdditionalInfo()) list.add(EnumChatFormatting.GRAY + additionalInfoInstructions()); else{ - list.add(EnumChatFormatting.GRAY + "Right click with the gloves,"); - list.add(EnumChatFormatting.GRAY + "while sneaking, on a villager"); - list.add(EnumChatFormatting.GRAY + "to steal his stuff."); + list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("item." + Variables.MODID + ".thievingGloves.info.1")); + list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("item." + Variables.MODID + ".thievingGloves.info.2")); + list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("item." + Variables.MODID + ".thievingGloves.info.3")); } } @@ -156,7 +159,7 @@ public class ItemThiefGloves extends Item */ public static String additionalInfoInstructions() { - String message = "\247oPress \247b\2477\247o for more information."; + String message = StatCollector.translateToLocal("item." + Variables.MODID + ".thievingGloves.info.extra"); return message; } } -- cgit v1.2.3