From 420faddca46e70e3a70def168fb4e452ef193b0d Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sat, 21 Feb 2015 21:31:16 +0000 Subject: Added just a butt ton of stuff, also thanks to pau101 for helping me with the Hand Pedestal animation :) --- .../jewelrycraft/util/JewelrycraftUtil.java | 191 +++++++++++---------- 1 file changed, 104 insertions(+), 87 deletions(-) (limited to 'java/darkknight/jewelrycraft/util/JewelrycraftUtil.java') diff --git a/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java b/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java index b61267e..70129f0 100644 --- a/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java +++ b/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java @@ -4,16 +4,19 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Random; - -import cpw.mods.fml.common.registry.GameData; -import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; +import cpw.mods.fml.common.registry.GameData; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.events.EntityEventHandler; import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.lib.Reference; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; public class JewelrycraftUtil { @@ -22,26 +25,17 @@ public class JewelrycraftUtil public static ArrayList jewelry = new ArrayList(); public static ArrayList metal = new ArrayList(); public static ArrayList ores = new ArrayList(); - public static HashMap curseValues = new HashMap(); - public static HashMap curseNames = new HashMap(); - public static HashMap availableCurseNames = new HashMap(); - public static HashMap availableCurseValues = new HashMap(); public static HashMap oreToIngot = new HashMap(); public static ArrayList jamcraftPlayers = new ArrayList(); public static Random rand = new Random(); + /** + * Adds gems and jewelry to their appropriate list + */ public static void addStuff() { - // Modifiers - for(Object item: GameData.getItemRegistry()) - { - ArrayList items = new ArrayList(); - ((Item)item).getSubItems((Item)item, null, items); - objects.addAll(items); - } - // Jewels - for (int i = 0; i < 16; i++) + for(int i = 0; i < 16; i++) gem.add(new ItemStack(ItemList.crystal, 1, i)); gem.add(new ItemStack(Blocks.redstone_block)); gem.add(new ItemStack(Blocks.lapis_block)); @@ -50,56 +44,73 @@ public class JewelrycraftUtil gem.add(new ItemStack(Items.emerald)); gem.add(new ItemStack(Items.ender_pearl)); gem.add(new ItemStack(Items.nether_star)); - // Jewelry jewelry.add(new ItemStack(ItemList.ring)); jewelry.add(new ItemStack(ItemList.necklace)); jewelry.add(new ItemStack(ItemList.bracelet)); jewelry.add(new ItemStack(ItemList.earrings)); - - // Curses - addCurse(Reference.MODNAME + ":" + "Blind", 0); - addCurse(Reference.MODNAME + ":" + "Weak", 1); - addCurse(Reference.MODNAME + ":" + "Anemic", 2); - addCurse(Reference.MODNAME + ":" + "Scared", 3); - addCurse(Reference.MODNAME + ":" + "Brave", 4); + for(Object item: GameData.getItemRegistry()){ + ArrayList items = new ArrayList(); + if (((Item)item).getHasSubtypes()){ + for(int i = 0; i < ((Item)item).getMaxDamage(); i++) + items.add(new ItemStack((Item)item, 1, i)); + }else objects.add(new ItemStack((Item)item)); + if (!items.isEmpty()) objects.addAll(items); + } } - public static void jamcrafters() + /** + * Adds curse points to a player + * @param player the player to add the points to + * @param points amount of curse points + */ + public static void addCursePoints(EntityPlayer player, int points) { - jamcraftPlayers.add("allout58"); - jamcraftPlayers.add("ChewBaker"); - jamcraftPlayers.add("domi1819"); - jamcraftPlayers.add("founderio"); - jamcraftPlayers.add("Ironhammer354"); - jamcraftPlayers.add("isomgirls6"); - jamcraftPlayers.add("jmjmjm439"); - jamcraftPlayers.add("Joban"); - jamcraftPlayers.add("KJ4IPS"); - jamcraftPlayers.add("Mitchellbrine"); - jamcraftPlayers.add("MrComputerGhost"); - jamcraftPlayers.add("MrKol999"); - jamcraftPlayers.add("Resinresin"); - jamcraftPlayers.add("sci4me"); - jamcraftPlayers.add("sor1n"); - jamcraftPlayers.add("theminecoder"); - jamcraftPlayers.add("YSPilot"); - jamcraftPlayers.add("direwolf20"); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft"); + playerInfo.setInteger("cursePoints", playerInfo.hasKey("cursePoints") ? (playerInfo.getInteger("cursePoints") + points) : points); + playerInfo.setBoolean("playerCursePointsChanged", true); } - public static void addCurse(String name, int val) + public static int getCursePoints(EntityPlayer player) { - curseValues.put(name, val); - curseNames.put(val, name); - availableCurseValues.put(name, val); - availableCurseNames.put(val, name); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft"); + return playerInfo.getInteger("cursePoints"); } + /** + * Adds the UUID's of the jamcrafters in a list + */ + public static void jamcrafters() + { + jamcraftPlayers.add("d3214311-7550-4c9c-a372-d9292c10b8a6"); + jamcraftPlayers.add("a690119f-c4a2-4bd6-a99d-d63679abb328"); + jamcraftPlayers.add("de7c9903-51fa-4a24-88cd-48faf122ca36"); + jamcraftPlayers.add("70aeb298-3a7b-46da-a393-ab10df9359f2"); + jamcraftPlayers.add("6fbe603c-14bf-4085-afdd-abe592c26e7c"); + jamcraftPlayers.add("b0d21306-36bf-4d85-84df-a956d183c45a"); + jamcraftPlayers.add("1733a31f-01f9-4f4d-82aa-7de30ca810d3"); + jamcraftPlayers.add("4833eacf-1d94-49a7-9f89-4cf88d69dcf9"); + jamcraftPlayers.add("718cf671-9084-4e78-b91f-033e80aa11bf"); + jamcraftPlayers.add("bea5e0c4-85c4-454d-a081-e1eaae6895ee"); + jamcraftPlayers.add("7ecf3e2f-fedf-4f7e-8d24-6731d078db4f"); + jamcraftPlayers.add("1b11ad3a-f0ca-4695-a019-2d7e5d83a5fd"); + jamcraftPlayers.add("3ec9ac58-2f1b-4d3f-b4eb-3b875da877ae"); + jamcraftPlayers.add("cf9fa23f-205e-4eed-aba3-9f2848cd6a4d"); + jamcraftPlayers.add("91880caa-b032-48e3-bfe8-c2c7ed31824e"); + jamcraftPlayers.add("8d0b3804-f71c-4219-897b-8c315448ea7c"); + jamcraftPlayers.add("bbb87dbe-690f-4205-bdc5-72ffb8ebc29d"); + } + + /** + * Adds a random amount of modifiers to a list + * + * @param randValue maximum number of modifiers + * @return a list containing the random modifiers + */ public static ArrayList addRandomModifiers(int randValue) { ArrayList list = new ArrayList(); - for (int i = 0; i < 2 + randValue; i++) - { + for(int i = 0; i < 2 + randValue; i++){ ItemStack item = objects.get(new Random().nextInt(objects.size())); item.stackSize = 1 + new Random().nextInt(2); list.add(item); @@ -107,26 +118,22 @@ public class JewelrycraftUtil return list; } + /** + * Links ores with their appropriate ingot + */ public static void addMetals() { int index = 0; - while (index < OreDictionary.getOreNames().length) - { + while (index < OreDictionary.getOreNames().length){ Iterator i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator(); - - while (i.hasNext()) - { + while (i.hasNext()){ ItemStack nextStack = i.next(); - - if ((nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || nextStack.getItem().getUnlocalizedName().toLowerCase().contains("alloy")) && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("powder") && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("dust") && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("block") && !metal.contains(nextStack)) - { + if ((nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || nextStack.getItem().getUnlocalizedName().toLowerCase().contains("alloy")) && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("powder") && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("dust") && !nextStack.getItem().getUnlocalizedName().toLowerCase().contains("block") && !metal.contains(nextStack)){ metal.add(nextStack); - if (OreDictionary.getOres(OreDictionary.getOreNames()[index].replace("ingot", "ore")) != null) - { + if (OreDictionary.getOres(OreDictionary.getOreNames()[index].replace("ingot", "ore")) != null){ ores.addAll(OreDictionary.getOres(OreDictionary.getOreNames()[index].replace("ingot", "ore"))); Iterator ores = OreDictionary.getOres(OreDictionary.getOreNames()[index].replace("ingot", "ore")).iterator(); - while (ores.hasNext()) - { + while (ores.hasNext()){ ItemStack ore = ores.next(); oreToIngot.put(ore.getItem(), nextStack); } @@ -137,66 +144,76 @@ public class JewelrycraftUtil } } - public static boolean isModifier(ItemStack item) - { - Iterator i = objects.iterator(); - - while (i.hasNext()) - { - ItemStack temp = i.next(); - if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true; - } - return false; - } - + /** + * Checks to see if the specified item is a gem + * + * @param item ItemStack containing the item + * @return is the item a gem + */ public static boolean isGem(ItemStack item) { Iterator i = gem.iterator(); - - while (i.hasNext()) - { + while (i.hasNext()){ ItemStack temp = i.next(); if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true; } return false; } + /** + * Checks to see if the specified item is a metal + * + * @param item ItemStack containing the item + * @return is the item a metal + */ public static boolean isMetal(ItemStack item) { Iterator i = metal.iterator(); - - while (i.hasNext()) - { + while (i.hasNext()){ ItemStack temp = i.next(); if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true; } return false; } + /** + * Checks to see if the specified item is a piece of jewelry + * + * @param item ItemStack containing the item + * @return is the item a piece of jewelry + */ public static boolean isJewelry(ItemStack item) { Iterator i = jewelry.iterator(); - - while (i.hasNext()) - { + while (i.hasNext()){ ItemStack temp = i.next(); if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true; } return false; } + /** + * Checks to see if the specified item is an ore + * + * @param item ItemStack containing the item + * @return is the item an ore + */ public static boolean isOre(ItemStack item) { Iterator i = ores.iterator(); - - while (i.hasNext()) - { + while (i.hasNext()){ ItemStack temp = i.next(); if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true; } return false; } + /** + * Gets the ingot from the ore + * + * @param ore the ore + * @return the ingot + */ public static ItemStack getIngotFromOre(Item ore) { return oreToIngot.get(ore); -- cgit v1.2.3