diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-02-21 21:31:16 +0000 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-02-21 21:31:16 +0000 |
| commit | 420faddca46e70e3a70def168fb4e452ef193b0d (patch) | |
| tree | 247e334012e4bf9e4fa6d42718bf601ce6bd42d9 /java/darkknight/jewelrycraft/item | |
| parent | 3f4c717de5ebc9b942d65ae45ac87c43bdf8a31b (diff) | |
Added just a butt ton of stuff, also thanks to pau101 for helping me with the Hand Pedestal animation :)
Diffstat (limited to 'java/darkknight/jewelrycraft/item')
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemBaseJewelry.java | 239 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemBracelet.java | 19 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemClayMolds.java | 62 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemCrystal.java | 75 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemEarrings.java | 19 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemGuide.java | 16 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemList.java | 27 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemMolds.java | 62 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemMoltenMetal.java | 97 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java | 293 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemNecklace.java | 19 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemRing.java | 20 | ||||
| -rw-r--r-- | java/darkknight/jewelrycraft/item/ItemThiefGloves.java | 135 |
13 files changed, 586 insertions, 497 deletions
diff --git a/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java index 9d65a60..fe614d0 100644 --- a/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java +++ b/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java @@ -1,11 +1,5 @@ package darkknight.jewelrycraft.item; -import java.awt.Graphics2D; -import java.awt.GraphicsConfiguration; -import java.awt.GraphicsDevice; -import java.awt.GraphicsEnvironment; -import java.awt.Image; -import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.ArrayList; @@ -15,126 +9,97 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; - import javax.imageio.ImageIO; - import net.minecraft.block.Block; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.resources.IResourceManager; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.effects.ModifierEffects; import darkknight.jewelrycraft.util.JewelryNBT; -public class ItemBaseJewelry extends Item +public abstract class ItemBaseJewelry extends Item { public ItemBaseJewelry() { super(); - this.setMaxStackSize(1); + setMaxStackSize(1); } - @Override public boolean requiresMultipleRenderPasses() { return true; } - @SideOnly(Side.CLIENT) + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - try - { + try{ return color(stack, pass); } - catch (IOException e) - { + catch(IOException e){ e.printStackTrace(); } return 16777215; } + /** + * @param stack + * @param pass + * @return + * @throws IOException + */ public static int color(ItemStack stack, int pass) throws IOException { - String domain = "", texture; IResourceManager rm = Minecraft.getMinecraft().getResourceManager(); BufferedImage icon; - if (pass == 0 && stack != null && JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0 && JewelryNBT.ingot(stack).getIconIndex() != null && JewelryNBT.ingotColor(stack) == 16777215) - { - ItemStack in = JewelryNBT.ingot(stack); - if (Item.getIdFromItem(in.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(in.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(in.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(in.getItem()) == Block.getIdFromBlock(Blocks.carpet)) in.setItemDamage(15 - in.getItemDamage()); - IIcon itemIcon = in.getItem().getIcon(in, 0); - String ingotIconName = itemIcon.getIconName(); - - if (ingotIconName.substring(0, ingotIconName.indexOf(":") + 1) != "") domain = ingotIconName.substring(0, ingotIconName.indexOf(":") + 1).replace(":", " ").trim(); - else domain = "minecraft"; - - texture = ingotIconName.substring(ingotIconName.lastIndexOf(":") + 1) + ".png"; - ResourceLocation ingot = null; - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); - - if (texturemanager.getResourceLocation(JewelryNBT.ingot(stack).getItemSpriteNumber()).toString().contains("items")) ingot = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture); - else ingot = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture); - - icon = ImageIO.read(rm.getResource(ingot).getInputStream()); + if (pass == 0 && stack != null && JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0 && JewelryNBT.ingot(stack).getIconIndex() != null && JewelryNBT.ingotColor(stack) == 16777215){ + ItemStack ingot = JewelryNBT.ingot(stack); + icon = ImageIO.read(rm.getResource(getLocation(ingot, stack, true)).getInputStream()); int height = icon.getHeight(); int width = icon.getWidth(); Map m = new HashMap(); - for (int i = 0; i < width; i++) - for (int j = 0; j < height; j++) - { + for(int i = 0; i < width; i++) + for(int j = 0; j < height; j++){ int rgb = icon.getRGB(i, j); - int red = (rgb >> 16) & 0xff; - int green = (rgb >> 8) & 0xff; - int blue = (rgb) & 0xff; + int red = rgb >> 16 & 0xff; + int green = rgb >> 8 & 0xff; + int blue = rgb & 0xff; int[] rgbArr = {red, green, blue}; int Cmax = Math.max(red, Math.max(green, blue)); int Cmin = Math.min(red, Math.min(green, blue)); - if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin)/2); + if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin) / 2); } int color = getMostCommonColour(m); if (JewelryNBT.ingot(stack) != null && JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1) != 16777215) JewelryNBT.addIngotColor(stack, JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1)); else JewelryNBT.addIngotColor(stack, color); - } - else if (pass == 1 && stack != null && JewelryNBT.gem(stack) != null && JewelryNBT.gem(stack).getIconIndex() != null && JewelryNBT.gem(stack) != null) - { - IIcon itemIcon = JewelryNBT.gem(stack).getItem().getIconFromDamage(JewelryNBT.gem(stack).getItemDamage()); - String jewelIconName = itemIcon.getIconName(); - - if (jewelIconName.substring(0, jewelIconName.indexOf(":") + 1) != "") domain = jewelIconName.substring(0, jewelIconName.indexOf(":") + 1).replace(":", " ").trim(); - else domain = "minecraft"; - - texture = jewelIconName.substring(jewelIconName.lastIndexOf(":") + 1) + ".png"; - ResourceLocation jewelLoc = null; - - if (JewelryNBT.gem(stack).getUnlocalizedName().contains("item")) jewelLoc = new ResourceLocation(domain, "textures/items/" + texture); - else jewelLoc = new ResourceLocation(domain, "textures/blocks/" + texture); - - icon = ImageIO.read(rm.getResource(jewelLoc).getInputStream()); + }else if (pass == 1 && stack != null && JewelryNBT.gem(stack) != null && JewelryNBT.gem(stack).getIconIndex() != null && JewelryNBT.gem(stack) != null){ + ItemStack gem = JewelryNBT.gem(stack); + icon = ImageIO.read(rm.getResource(getLocation(gem, stack, true)).getInputStream()); int height = icon.getHeight(); int width = icon.getWidth(); Map m = new HashMap(); - for (int i = 0; i < width; i++) - for (int j = 0; j < height; j++) - { + for(int i = 0; i < width; i++) + for(int j = 0; j < height; j++){ int rgb = icon.getRGB(i, j); - int red = (rgb >> 16) & 0xff; - int green = (rgb >> 8) & 0xff; - int blue = (rgb) & 0xff; + int red = rgb >> 16 & 0xff; + int green = rgb >> 8 & 0xff; + int blue = rgb & 0xff; int[] rgbArr = {red, green, blue}; int Cmax = Math.max(red, Math.max(green, blue)); int Cmin = Math.min(red, Math.min(green, blue)); - if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin)/2); + if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin) / 2); } int color = getMostCommonColour(m); if (JewelryNBT.gem(stack).getItem().getColorFromItemStack(JewelryNBT.gem(stack), 1) == 16777215) JewelryNBT.addGemColor(stack, color); @@ -146,56 +111,162 @@ public class ItemBaseJewelry extends Item return 16777215; } + /** + * @param item + * @param stack + * @param changeMeta + * @return + */ + public static ResourceLocation getLocation(ItemStack item, ItemStack stack, boolean changeMeta) + { + String domain = ""; + String texture; + if (changeMeta && (Item.getIdFromItem(item.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(item.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(item.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(item.getItem()) == Block.getIdFromBlock(Blocks.carpet))) item.setItemDamage(15 - item.getItemDamage()); + IIcon itemIcon = item.getItem().getIcon(item, 0); + String iconName = itemIcon.getIconName(); + if (iconName.substring(0, iconName.indexOf(":") + 1) != "") domain = iconName.substring(0, iconName.indexOf(":") + 1).replace(":", " ").trim(); + else domain = "minecraft"; + texture = iconName.substring(iconName.lastIndexOf(":") + 1) + ".png"; + ResourceLocation textureLocation = null; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + if (texturemanager.getResourceLocation(item.getItemSpriteNumber()).toString().contains("items")) textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture); + else textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture); + return textureLocation; + } + + /** + * @param map + * @return + */ public static int getMostCommonColour(Map map) { List list = new LinkedList(map.entrySet()); - Collections.sort(list, new Comparator() - { + Collections.sort(list, new Comparator(){ public int compare(Object o1, Object o2) { - return ((Comparable) ((Map.Entry) (o1)).getValue()).compareTo(((Map.Entry) (o2)).getValue()); + return ((Comparable)((Map.Entry)o1).getValue()).compareTo(((Map.Entry)o2).getValue()); } }); - Map.Entry me = (Map.Entry) list.get(list.size() - 1); - for (int i = 0; i < list.size(); i++) - { + Map.Entry me = (Map.Entry)list.get(list.size() - 1); + for(int i = 0; i < list.size(); i++){ float alpha = Float.valueOf(list.get(i).toString().split("=")[1]); - if (alpha < 180) me = (Map.Entry) list.get(i); + if (alpha < 180) me = (Map.Entry)list.get(i); } - int rgb = (Integer) me.getKey(); + int rgb = (Integer)me.getKey(); return rgb; } + /** + * @param rgbArr + * @return + */ public static boolean isGray(int[] rgbArr) { int rgbSum = rgbArr[0] + rgbArr[1] + rgbArr[2]; - if (rgbSum > 0 && rgbSum < 256 * 3) { return false; } + if (rgbSum > 0 && rgbSum < 256 * 3) return false; return true; } + /** + * @param stack + * @return + */ public String getItemStackDisplayName(ItemStack stack) { - if (JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0) return JewelryNBT.ingot(stack).getDisplayName().replace("Ingot", " ").trim() + " " + ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); - return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); + if (JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0) return JewelryNBT.ingot(stack).getDisplayName().replace("Ingot", " ").trim() + " " + ("" + StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name")).trim(); + return ("" + StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name")).trim(); } /** - * allows items to add custom lines of information to the mouseover description + * allows items to add custom lines of information to the mouseover description. + * + * @param stack + * @param player + * @param list + * @param par4 */ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { - if (stack.hasTagCompound() && par4) - { + if (stack.hasTagCompound() && par4){ ItemStack ingot = JewelryNBT.ingot(stack); if (ingot != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0) list.add("Ingot: " + EnumChatFormatting.YELLOW + ingot.getDisplayName()); - ItemStack gem = JewelryNBT.gem(stack); if (gem != null) list.add("Gem: " + EnumChatFormatting.BLUE + gem.getDisplayName()); - ArrayList<ItemStack> modifier = JewelryNBT.modifier(stack); if (!modifier.isEmpty()) list.add("Modifiers: "); - for (int i = 0; i < modifier.size(); i++) + for(int i = 0; i < modifier.size(); i++) list.add(EnumChatFormatting.DARK_PURPLE + modifier.get(i).getDisplayName() + " x" + modifier.get(i).stackSize); } } + + /** + * @param stack + * @param player + */ + public void action(ItemStack stack, EntityPlayer player) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + mod.action(stack, player, this); + } + + /** + * @param item + * @param player + * @param source + * @return + */ + public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, float amount) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + return mod.onPlayerAttackedCacellable(item, player, source, this, amount); + return false; + } + + /** + * @param item + * @param player + * @param target + * @return + */ + public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, float amount) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + return mod.onEntityAttackedCacellable(item, player, target, this, amount); + return false; + } + + /** + * @param item + * @param player + * @param source + * @return + */ + public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, float amount) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) mod.onPlayerAttacked(item, player, source, this, amount); + } + + /** + * @param item + * @param player + * @param target + * @return + */ + public void onEntityAttacked(ItemStack item, EntityPlayer player, Entity target, float amount) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) mod.onEntityAttacked(item, player, target, this, amount); + } + + /** + * @param item + * @param player + * @param source + * @return + */ + public boolean onPlayerFall(ItemStack item, EntityPlayer player) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + return mod.onPlayerFall(item, player, this); + return false; + } } diff --git a/java/darkknight/jewelrycraft/item/ItemBracelet.java b/java/darkknight/jewelrycraft/item/ItemBracelet.java index 8b034c7..b754186 100644 --- a/java/darkknight/jewelrycraft/item/ItemBracelet.java +++ b/java/darkknight/jewelrycraft/item/ItemBracelet.java @@ -7,17 +7,30 @@ import darkknight.jewelrycraft.util.JewelryNBT; public class ItemBracelet extends ItemBaseJewelry { - public IIcon gem; + public IIcon gem; + + /** + * + */ public ItemBracelet() - { - } + {} + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:bracelet"); gem = iconRegister.registerIcon("jewelrycraft:jewelBracelet"); } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; diff --git a/java/darkknight/jewelrycraft/item/ItemClayMolds.java b/java/darkknight/jewelrycraft/item/ItemClayMolds.java index 29a2526..9f99857 100644 --- a/java/darkknight/jewelrycraft/item/ItemClayMolds.java +++ b/java/darkknight/jewelrycraft/item/ItemClayMolds.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.item; import java.util.List; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -14,62 +13,75 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemClayMolds extends Item { /** List of molds color names */ - public static final String[] moldsItemNames = new String[] - { "clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"}; - @SideOnly(Side.CLIENT) + public static final String[] moldsItemNames = new String[]{"clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"}; + @SideOnly (Side.CLIENT) private IIcon[] moldsIcons; + /** + * + */ public ItemClayMolds() { super(); - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setMaxStackSize(1); + setHasSubtypes(true); + setMaxDamage(0); + setMaxStackSize(1); } - @SideOnly(Side.CLIENT) + /** + * @param par1 + * @return + */ + @Override + @SideOnly (Side.CLIENT) /** * Gets an icon index based on an item's damage value */ public IIcon getIconFromDamage(int par1) { int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return this.moldsIcons[j]; + return moldsIcons[j]; } /** - * Returns the unlocalized name of this item. This version accepts an - * ItemStack so different stacks can have different names based on their - * damage or NBT. + * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. + * + * @param par1ItemStack + * @return */ + @Override public String getUnlocalizedName(ItemStack par1ItemStack) { int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); return super.getUnlocalizedName() + "." + moldsItemNames[i]; } - @SuppressWarnings( - { "unchecked", "rawtypes" }) - @SideOnly(Side.CLIENT) + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) + @SideOnly (Side.CLIENT) /** * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) */ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int j = 0; j < moldsItemNames.length; ++j) - { + for(int j = 0; j < moldsItemNames.length; ++j) par3List.add(new ItemStack(par1, 1, j)); - } } - @SideOnly(Side.CLIENT) + /** + * @param par1IconRegister + */ + @Override + @SideOnly (Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { - this.moldsIcons = new IIcon[moldsItemNames.length]; - - for (int i = 0; i < moldsItemNames.length; ++i) - { - this.moldsIcons[i] = par1IconRegister.registerIcon("jewelrycraft:" + moldsItemNames[i] + this.getIconString()); - } + moldsIcons = new IIcon[moldsItemNames.length]; + for(int i = 0; i < moldsItemNames.length; ++i) + moldsIcons[i] = par1IconRegister.registerIcon("jewelrycraft:" + moldsItemNames[i] + getIconString()); } } diff --git a/java/darkknight/jewelrycraft/item/ItemCrystal.java b/java/darkknight/jewelrycraft/item/ItemCrystal.java index c9a234b..ca6b58d 100644 --- a/java/darkknight/jewelrycraft/item/ItemCrystal.java +++ b/java/darkknight/jewelrycraft/item/ItemCrystal.java @@ -1,80 +1,113 @@ package darkknight.jewelrycraft.item; import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockSkull; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntitySkull; import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; public class ItemCrystal extends Item { public IIcon overlay; - public static final int[] dyeColors = new int[] - { 1973019, 11743532, 3887386, 5320730, 2437522, 8073150, 2651799, 11250603, 4408131, 14188952, 4312372, 14602026, 6719955, 12801229, 15435844, 15790320 }; + public static final int[] dyeColors = new int[]{1973019, 11743532, 3887386, 5320730, 2437522, 8073150, 2651799, 11250603, 4408131, 14188952, 4312372, 14602026, 6719955, 12801229, 15435844, 15790320}; + /** + * + */ public ItemCrystal() { super(); - this.setHasSubtypes(true); - this.setMaxDamage(0); + setHasSubtypes(true); + setMaxDamage(0); } + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:crystal"); overlay = iconRegister.registerIcon("jewelrycraft:crystalOverlay"); } + /** + * @return + */ @Override public boolean requiresMultipleRenderPasses() { return true; } - @SideOnly(Side.CLIENT) + /** + * @param stack + * @param pass + * @return + */ + @Override + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - if (pass == 1 && this.getDamage(stack) != 16) return dyeColors[this.getDamage(stack)]; + if (pass == 1 && getDamage(stack) != 16) return dyeColors[getDamage(stack)]; return 16777215; } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { return pass == 0 ? itemIcon : overlay; } + /** + * @param stack + * @param player + * @param world + * @param i + * @param j + * @param k + * @param side + * @param par8 + * @param par9 + * @param par10 + * @return + */ + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int i, int j, int k, int side, float par8, float par9, float par10) { return true; } + /** + * @param stack + * @return + */ + @Override public String getUnlocalizedName(ItemStack stack) { return super.getUnlocalizedName() + "." + stack.getItemDamage(); } - @SuppressWarnings( - { "unchecked", "rawtypes" }) + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int j = 0; j < 16; ++j) - { + for(int j = 0; j < 16; ++j) par3List.add(new ItemStack(par1, 1, j)); - } } - } diff --git a/java/darkknight/jewelrycraft/item/ItemEarrings.java b/java/darkknight/jewelrycraft/item/ItemEarrings.java index abff9cc..2321df0 100644 --- a/java/darkknight/jewelrycraft/item/ItemEarrings.java +++ b/java/darkknight/jewelrycraft/item/ItemEarrings.java @@ -7,17 +7,30 @@ import darkknight.jewelrycraft.util.JewelryNBT; public class ItemEarrings extends ItemBaseJewelry { - public IIcon gem; + public IIcon gem; + + /** + * + */ public ItemEarrings() - { - } + {} + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:earrings"); gem = iconRegister.registerIcon("jewelrycraft:jewelEarrings"); } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; diff --git a/java/darkknight/jewelrycraft/item/ItemGuide.java b/java/darkknight/jewelrycraft/item/ItemGuide.java index 62f645e..ed85dc4 100644 --- a/java/darkknight/jewelrycraft/item/ItemGuide.java +++ b/java/darkknight/jewelrycraft/item/ItemGuide.java @@ -8,19 +8,25 @@ import darkknight.jewelrycraft.JewelrycraftMod; public class ItemGuide extends Item { + + /** + * + */ public ItemGuide() { super(); } + /** + * @param stack + * @param world + * @param player + * @return + */ @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if (world.isRemote) - { - player.openGui(JewelrycraftMod.instance, 1, player.worldObj, 0, 0, 0); - } - + if (world.isRemote) player.openGui(JewelrycraftMod.instance, 1, player.worldObj, 0, 0, 0); return stack; } }
\ No newline at end of file diff --git a/java/darkknight/jewelrycraft/item/ItemList.java b/java/darkknight/jewelrycraft/item/ItemList.java index 1d060ec..b9acd96 100644 --- a/java/darkknight/jewelrycraft/item/ItemList.java +++ b/java/darkknight/jewelrycraft/item/ItemList.java @@ -1,15 +1,9 @@ package darkknight.jewelrycraft.item; -import net.minecraft.init.Items; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.block.BlockList; public class ItemList { @@ -25,26 +19,26 @@ public class ItemList public static Item guide; public static ItemMoltenMetalBucket bucket; public static ItemMoltenMetal metal; - private static boolean isInitialized = false; + /** + * @param e + */ public static void preInit(FMLPreInitializationEvent e) { - if (!isInitialized) - { + if (!isInitialized){ thiefGloves = new ItemThiefGloves().setUnlocalizedName("Jewelrycraft.thiefGloves").setTextureName("jewelrycraft:thiefGloves").setCreativeTab(JewelrycraftMod.jewelrycraft); shadowIngot = new Item().setUnlocalizedName("Jewelrycraft.ingotShadow").setTextureName("jewelrycraft:ingotShadow").setCreativeTab(JewelrycraftMod.jewelrycraft); molds = new ItemMolds().setUnlocalizedName("Jewelrycraft.mold").setTextureName("Mold").setCreativeTab(JewelrycraftMod.jewelrycraft); clayMolds = new ItemClayMolds().setUnlocalizedName("Jewelrycraft.mold").setTextureName("Mold").setCreativeTab(JewelrycraftMod.jewelrycraft); - ring = (ItemRing) new ItemRing().setUnlocalizedName("Jewelrycraft.ring").setTextureName("jewelrycraft:ring"); - necklace = (ItemNecklace) new ItemNecklace().setUnlocalizedName("Jewelrycraft.necklace").setTextureName("jewelrycraft:necklace"); - bracelet = (ItemBracelet) new ItemBracelet().setUnlocalizedName("Jewelrycraft.bracelet").setTextureName("jewelrycraft:bracelet"); - earrings = (ItemEarrings) new ItemEarrings().setUnlocalizedName("Jewelrycraft.earrings").setTextureName("jewelrycraft:earrings"); + ring = (ItemRing)new ItemRing().setUnlocalizedName("Jewelrycraft.ring").setTextureName("jewelrycraft:ring"); + necklace = (ItemNecklace)new ItemNecklace().setUnlocalizedName("Jewelrycraft.necklace").setTextureName("jewelrycraft:necklace"); + bracelet = (ItemBracelet)new ItemBracelet().setUnlocalizedName("Jewelrycraft.bracelet").setTextureName("jewelrycraft:bracelet"); + earrings = (ItemEarrings)new ItemEarrings().setUnlocalizedName("Jewelrycraft.earrings").setTextureName("jewelrycraft:earrings"); crystal = new ItemCrystal().setUnlocalizedName("Jewelrycraft.crystal").setTextureName("jewelrycraft:crystal").setCreativeTab(JewelrycraftMod.jewelrycraft); guide = new ItemGuide().setUnlocalizedName("Jewelrycraft.guide").setTextureName("jewelrycraft:guide").setCreativeTab(JewelrycraftMod.jewelrycraft); - bucket = (ItemMoltenMetalBucket) new ItemMoltenMetalBucket().setUnlocalizedName("Jewelrycraft.bucket"); - metal = (ItemMoltenMetal) new ItemMoltenMetal().setUnlocalizedName("Jewelrycraft.bucket"); - + bucket = (ItemMoltenMetalBucket)new ItemMoltenMetalBucket().setUnlocalizedName("Jewelrycraft.bucket"); + metal = (ItemMoltenMetal)new ItemMoltenMetal().setUnlocalizedName("Jewelrycraft.bucket"); GameRegistry.registerItem(thiefGloves, "thiefGloves"); GameRegistry.registerItem(shadowIngot, "shadowIngot"); GameRegistry.registerItem(molds, "molds"); @@ -57,7 +51,6 @@ public class ItemList GameRegistry.registerItem(guide, "guide"); GameRegistry.registerItem(bucket, "moltenMetalBucket"); GameRegistry.registerItem(metal, "moltenMetal"); - isInitialized = true; } } diff --git a/java/darkknight/jewelrycraft/item/ItemMolds.java b/java/darkknight/jewelrycraft/item/ItemMolds.java index 0703997..106fcbe 100644 --- a/java/darkknight/jewelrycraft/item/ItemMolds.java +++ b/java/darkknight/jewelrycraft/item/ItemMolds.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.item; import java.util.List; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -14,62 +13,75 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemMolds extends Item { /** List of molds color names */ - public static final String[] moldsItemNames = new String[] - { "ingot", "ring", "necklace", "bracelet", "earrings" }; - @SideOnly(Side.CLIENT) + public static final String[] moldsItemNames = new String[]{"ingot", "ring", "necklace", "bracelet", "earrings"}; + @SideOnly (Side.CLIENT) private IIcon[] moldsIcons; + /** + * + */ public ItemMolds() { super(); - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setMaxStackSize(1); + setHasSubtypes(true); + setMaxDamage(0); + setMaxStackSize(1); } - @SideOnly(Side.CLIENT) + /** + * @param par1 + * @return + */ + @Override + @SideOnly (Side.CLIENT) /** * Gets an icon index based on an item's damage value */ public IIcon getIconFromDamage(int par1) { int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return this.moldsIcons[j]; + return moldsIcons[j]; } /** - * Returns the unlocalized name of this item. This version accepts an - * ItemStack so different stacks can have different names based on their - * damage or NBT. + * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. + * + * @param par1ItemStack + * @return */ + @Override public String getUnlocalizedName(ItemStack par1ItemStack) { int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); return super.getUnlocalizedName() + "." + moldsItemNames[i]; } - @SuppressWarnings( - { "unchecked", "rawtypes" }) - @SideOnly(Side.CLIENT) + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) + @SideOnly (Side.CLIENT) /** * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) */ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int j = 0; j < moldsItemNames.length; ++j) - { + for(int j = 0; j < moldsItemNames.length; ++j) par3List.add(new ItemStack(par1, 1, j)); - } } - @SideOnly(Side.CLIENT) + /** + * @param par1IconRegister + */ + @Override + @SideOnly (Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { - this.moldsIcons = new IIcon[moldsItemNames.length]; - - for (int i = 0; i < moldsItemNames.length; ++i) - { - this.moldsIcons[i] = par1IconRegister.registerIcon("jewelrycraft:" + moldsItemNames[i] + this.getIconString()); - } + moldsIcons = new IIcon[moldsItemNames.length]; + for(int i = 0; i < moldsItemNames.length; ++i) + moldsIcons[i] = par1IconRegister.registerIcon("jewelrycraft:" + moldsItemNames[i] + getIconString()); } } diff --git a/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java b/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java index ef098f5..0638da7 100644 --- a/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java +++ b/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java @@ -8,16 +8,12 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; - import javax.imageio.ImageIO; - import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.resources.IResourceManager; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,79 +21,76 @@ import darkknight.jewelrycraft.util.JewelryNBT; public class ItemMoltenMetal extends Item { - private int amplifier, cooldown = 0; - int index = 0; + /** + * + */ public ItemMoltenMetal() { super(); - this.setMaxStackSize(1); + setMaxStackSize(1); } + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:moltenMetalStill"); } - @SideOnly(Side.CLIENT) + /** + * @param stack + * @param pass + * @return + */ + @Override + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - try - { + try{ return color(stack, pass); } - catch (IOException e) - { + catch(IOException e){ e.printStackTrace(); } return 16777215; } + /** + * @param stack + * @param pass + * @return + * @throws IOException + */ public static int color(ItemStack stack, int pass) throws IOException { - String domain = "", texture; IResourceManager rm = Minecraft.getMinecraft().getResourceManager(); BufferedImage icon; - if (stack != null && JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0 && JewelryNBT.ingot(stack).getIconIndex() != null && JewelryNBT.ingotColor(stack) == 16777215) - { - IIcon itemIcon = JewelryNBT.ingot(stack).getItem().getIcon(JewelryNBT.ingot(stack), 0); - String ingotIconName = itemIcon.getIconName(); - - if (ingotIconName.substring(0, ingotIconName.indexOf(":") + 1) != "") domain = ingotIconName.substring(0, ingotIconName.indexOf(":") + 1).replace(":", " ").trim(); - else domain = "minecraft"; - - texture = ingotIconName.substring(ingotIconName.lastIndexOf(":") + 1) + ".png"; - ResourceLocation ingot = null; - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); - - if (texturemanager.getResourceLocation(JewelryNBT.ingot(stack).getItemSpriteNumber()).toString().contains("items")) ingot = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture); - else ingot = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture); - + if (stack != null && JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0 && JewelryNBT.ingot(stack).getIconIndex() != null && JewelryNBT.ingotColor(stack) == 16777215){ + ResourceLocation ingot = ItemBaseJewelry.getLocation(JewelryNBT.ingot(stack), stack, false); icon = ImageIO.read(rm.getResource(ingot).getInputStream()); int height = icon.getHeight(); int width = icon.getWidth(); - Map m = new HashMap(); - for (int i = 0; i < width; i++) - for (int j = 0; j < height; j++) - { + for(int i = 0; i < width; i++) + for(int j = 0; j < height; j++){ int rgb = icon.getRGB(i, j); - int red = (rgb >> 16) & 0xff; - int green = (rgb >> 8) & 0xff; - int blue = (rgb) & 0xff; + int red = rgb >> 16 & 0xff; + int green = rgb >> 8 & 0xff; + int blue = rgb & 0xff; int[] rgbArr = {red, green, blue}; int Cmax = Math.max(red, Math.max(green, blue)); int Cmin = Math.min(red, Math.min(green, blue)); - if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin)/2); + if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin) / 2); } - try - { + try{ int color = getMostCommonColour(m); if (JewelryNBT.ingot(stack) != null && JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1) != 16777215) JewelryNBT.addIngotColor(stack, JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1)); else JewelryNBT.addIngotColor(stack, color); } - catch (Exception e) - { + catch(Exception e){ JewelryNBT.addIngotColor(stack, 16777215); } } @@ -105,30 +98,36 @@ public class ItemMoltenMetal extends Item return 0; } + /** + * @param map + * @return + */ public static int getMostCommonColour(Map map) { List list = new LinkedList(map.entrySet()); - Collections.sort(list, new Comparator() - { + Collections.sort(list, new Comparator(){ public int compare(Object o1, Object o2) { - return ((Comparable) ((Map.Entry) (o1)).getValue()).compareTo(((Map.Entry) (o2)).getValue()); + return ((Comparable)((Map.Entry)o1).getValue()).compareTo(((Map.Entry)o2).getValue()); } }); - Map.Entry me = (Map.Entry) list.get(list.size() - 1); - for (int i = 0; i < list.size(); i++) - { + Map.Entry me = (Map.Entry)list.get(list.size() - 1); + for(int i = 0; i < list.size(); i++){ float alpha = Float.valueOf(list.get(i).toString().split("=")[1]); - if (alpha < 180) me = (Map.Entry) list.get(i); + if (alpha < 180) me = (Map.Entry)list.get(i); } - int rgb = (Integer) me.getKey(); + int rgb = (Integer)me.getKey(); return rgb; } + /** + * @param rgbArr + * @return + */ public static boolean isGray(int[] rgbArr) { int rgbSum = rgbArr[0] + rgbArr[1] + rgbArr[2]; - if (rgbSum > 0 && rgbSum < 256 * 3) { return false; } + if (rgbSum > 0 && rgbSum < 256 * 3) return false; return true; } } diff --git a/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java index 5c61398..9365224 100644 --- a/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java +++ b/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java @@ -1,22 +1,9 @@ package darkknight.jewelrycraft.item; -import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.imageio.ImageIO; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.resources.IResourceManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -24,7 +11,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; @@ -41,187 +27,157 @@ public class ItemMoltenMetalBucket extends Item { public IIcon liquid; + /** + * + */ public ItemMoltenMetalBucket() { - this.maxStackSize = 1; + maxStackSize = 1; } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer + * + * @param stack + * @param par2World + * @param par3EntityPlayer + * @return */ + @Override public ItemStack onItemRightClick(ItemStack stack, World par2World, EntityPlayer par3EntityPlayer) { boolean flag = BlockList.moltenMetal == Blocks.air; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, flag); - - if (movingobjectposition == null) - { - return stack; - } - else - { + MovingObjectPosition movingobjectposition = getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, flag); + if (movingobjectposition == null) return stack; + else{ FillBucketEvent event = new FillBucketEvent(par3EntityPlayer, stack, par2World, movingobjectposition); - if (MinecraftForge.EVENT_BUS.post(event)) { return stack; } - - if (event.getResult() == Event.Result.ALLOW) - { - if (par3EntityPlayer.capabilities.isCreativeMode) { return stack; } - - if (--stack.stackSize <= 0) { return event.result; } - - if (!par3EntityPlayer.inventory.addItemStackToInventory(event.result)) - { - par3EntityPlayer.dropPlayerItemWithRandomChoice(event.result, false); - } - + if (MinecraftForge.EVENT_BUS.post(event)) return stack; + if (event.getResult() == Event.Result.ALLOW){ + if (par3EntityPlayer.capabilities.isCreativeMode) return stack; + if (--stack.stackSize <= 0) return event.result; + if (!par3EntityPlayer.inventory.addItemStackToInventory(event.result)) par3EntityPlayer.dropPlayerItemWithRandomChoice(event.result, false); return stack; } - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { + if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK){ int i = movingobjectposition.blockX; int j = movingobjectposition.blockY; int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) { return stack; } - - if (flag) - { - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) { return stack; } - - Material material = par2World.getBlock(i, j, k).getMaterial(); - int l = par2World.getBlockMetadata(i, j, k); + if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) return stack; + if (flag){ + if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) return stack; + par2World.getBlock(i, j, k).getMaterial(); + par2World.getBlockMetadata(i, j, k); par2World.setBlockToAir(i, j, k); - return this.func_150910_a(stack, par3EntityPlayer, ItemList.bucket); - } - else - { - if (BlockList.moltenMetal == Blocks.air) { return new ItemStack(Items.bucket); } - - if (movingobjectposition.sideHit == 0) - { - --j; - } - - if (movingobjectposition.sideHit == 1) - { - ++j; - } - - if (movingobjectposition.sideHit == 2) - { - --k; - } - - if (movingobjectposition.sideHit == 3) - { - ++k; - } - - if (movingobjectposition.sideHit == 4) - { - --i; + return func_150910_a(stack, par3EntityPlayer, ItemList.bucket); + }else{ + if (BlockList.moltenMetal == Blocks.air) return new ItemStack(Items.bucket); + if (movingobjectposition.sideHit == 0) --j; + if (movingobjectposition.sideHit == 1) ++j; + if (movingobjectposition.sideHit == 2) --k; + if (movingobjectposition.sideHit == 3) ++k; + if (movingobjectposition.sideHit == 4) --i; + if (movingobjectposition.sideHit == 5) ++i; + if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) return stack; + try{ + if (tryPlaceContainedLiquid(par2World, i, j, k, stack) && !par3EntityPlayer.capabilities.isCreativeMode) return new ItemStack(Items.bucket); } - - if (movingobjectposition.sideHit == 5) - { - ++i; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) { return stack; } - - try - { - if (this.tryPlaceContainedLiquid(par2World, i, j, k, stack) && !par3EntityPlayer.capabilities.isCreativeMode) { return new ItemStack(Items.bucket); } - } - catch (IOException e) - { + catch(IOException e){ e.printStackTrace(); } } } - return stack; } } + /** + * @param p_150910_1_ + * @param p_150910_2_ + * @param p_150910_3_ + * @return + */ private ItemStack func_150910_a(ItemStack p_150910_1_, EntityPlayer p_150910_2_, Item p_150910_3_) { - if (p_150910_2_.capabilities.isCreativeMode) - { - return p_150910_1_; - } - else if (--p_150910_1_.stackSize <= 0) - { - return new ItemStack(p_150910_3_); - } - else - { - if (!p_150910_2_.inventory.addItemStackToInventory(new ItemStack(p_150910_3_))) - { - p_150910_2_.dropPlayerItemWithRandomChoice(new ItemStack(p_150910_3_, 1, 0), false); - } - + if (p_150910_2_.capabilities.isCreativeMode) return p_150910_1_; + else if (--p_150910_1_.stackSize <= 0) return new ItemStack(p_150910_3_); + else{ + if (!p_150910_2_.inventory.addItemStackToInventory(new ItemStack(p_150910_3_))) p_150910_2_.dropPlayerItemWithRandomChoice(new ItemStack(p_150910_3_, 1, 0), false); return p_150910_1_; } } /** * Attempts to place the liquid contained inside the bucket. - * + * + * @param world + * @param x + * @param y + * @param z + * @param stack + * @return * @throws IOException */ public boolean tryPlaceContainedLiquid(World world, int x, int y, int z, ItemStack stack) throws IOException { - if (BlockList.moltenMetal == Blocks.air) - { - return false; - } - else - { + if (BlockList.moltenMetal == Blocks.air) return false; + else{ Material material = world.getBlock(x, y, z).getMaterial(); boolean flag = !material.isSolid(); - if (!world.isAirBlock(x, y, z) && !flag) return false; - else if (stack != null && JewelryNBT.ingot(stack) != null) - { + else if (stack != null && JewelryNBT.ingot(stack) != null){ if (!world.isRemote && flag && !material.isLiquid()) world.func_147480_a(x, y, z, true); int color = color(stack, 1); JewelrycraftMod.saveData.setString(x + " " + y + " " + z + " " + world.provider.dimensionId, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) + ":" + JewelryNBT.ingot(stack).getItemDamage() + ":" + color); JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, x, y, z, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()), JewelryNBT.ingot(stack).getItemDamage(), color)); - world.setBlock(x, y, z, BlockList.moltenMetal, 0, 3); return true; - } - else return false; + }else return false; } } + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("bucket_empty"); liquid = iconRegister.registerIcon("jewelrycraft:bucketOverlay"); } - @SideOnly(Side.CLIENT) + /** + * @param stack + * @param pass + * @return + */ + @Override + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - try - { + try{ return color(stack, pass); } - catch (IOException e) - { + catch(IOException e){ e.printStackTrace(); } return 16777215; } + /** + * @return + */ @Override public boolean requiresMultipleRenderPasses() { return true; } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; @@ -229,77 +185,22 @@ public class ItemMoltenMetalBucket extends Item return itemIcon; } + /** + * @param stack + * @param pass + * @return + * @throws IOException + */ public static int color(ItemStack stack, int pass) throws IOException { - String domain = "", texture; - IResourceManager rm = Minecraft.getMinecraft().getResourceManager(); - BufferedImage icon; - if (pass == 1 && stack != null && JewelryNBT.ingot(stack) != null && Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) > 0 && JewelryNBT.ingot(stack).getIconIndex() != null && JewelryNBT.ingotColor(stack) == 16777215) - { - IIcon itemIcon = JewelryNBT.ingot(stack).getItem().getIcon(JewelryNBT.ingot(stack), 0); - String ingotIconName = itemIcon.getIconName(); - - if (ingotIconName.substring(0, ingotIconName.indexOf(":") + 1) != "") domain = ingotIconName.substring(0, ingotIconName.indexOf(":") + 1).replace(":", " ").trim(); - else domain = "minecraft"; - - texture = ingotIconName.substring(ingotIconName.lastIndexOf(":") + 1) + ".png"; - ResourceLocation ingot = null; - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); - - if (texturemanager.getResourceLocation(JewelryNBT.ingot(stack).getItemSpriteNumber()).toString().contains("items")) ingot = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture); - else ingot = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture); - - icon = ImageIO.read(rm.getResource(ingot).getInputStream()); - int height = icon.getHeight(); - int width = icon.getWidth(); - Map m = new HashMap(); - for (int i = 0; i < width; i++) - for (int j = 0; j < height; j++) - { - int rgb = icon.getRGB(i, j); - int red = (rgb >> 16) & 0xff; - int green = (rgb >> 8) & 0xff; - int blue = (rgb) & 0xff; - int[] rgbArr = {red, green, blue}; - int Cmax = Math.max(red, Math.max(green, blue)); - int Cmin = Math.min(red, Math.min(green, blue)); - if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin)/2); - } - int color = getMostCommonColour(m); - if (JewelryNBT.ingot(stack) != null && JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1) != 16777215) JewelryNBT.addIngotColor(stack, JewelryNBT.ingot(stack).getItem().getColorFromItemStack(JewelryNBT.ingot(stack), 1)); - else JewelryNBT.addIngotColor(stack, color); - } - if (JewelryNBT.ingot(stack) != null && pass == 1) return JewelryNBT.ingotColor(stack); + if (pass == 1) return ItemMoltenMetal.color(stack, pass); return 16777215; } - public static int getMostCommonColour(Map map) - { - List list = new LinkedList(map.entrySet()); - Collections.sort(list, new Comparator() - { - public int compare(Object o1, Object o2) - { - return ((Comparable) ((Map.Entry) (o1)).getValue()).compareTo(((Map.Entry) (o2)).getValue()); - } - }); - Map.Entry me = (Map.Entry) list.get(list.size() - 1); - for (int i = 0; i < list.size(); i++) - { - float alpha = Float.valueOf(list.get(i).toString().split("=")[1]); - if (alpha < 180) me = (Map.Entry) list.get(i); - } - int rgb = (Integer) me.getKey(); - return rgb; - } - - public static boolean isGray(int[] rgbArr) - { - int rgbSum = rgbArr[0] + rgbArr[1] + rgbArr[2]; - if (rgbSum > 0 && rgbSum < 256 * 3) { return false; } - return true; - } - + /** + * @param ingot + * @return + */ public ItemStack getModifiedItemStack(ItemStack ingot) { ItemStack itemstack = new ItemStack(this); @@ -307,14 +208,18 @@ public class ItemMoltenMetalBucket extends Item return itemstack; } + /** + * @param stack + * @return + */ + @Override public String getItemStackDisplayName(ItemStack stack) { - if (JewelryNBT.ingot(stack) != null) - { + if (JewelryNBT.ingot(stack) != null){ ItemStack ingot = JewelryNBT.ingot(stack); if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); - return (StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim() + " " + ingot.getDisplayName().replace("Ingot", " ").trim(); + return StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name").trim() + " " + ingot.getDisplayName().replace("Ingot", " ").trim(); } - return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim() + " Metal"; + return ("" + StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name")).trim() + " Metal"; } } diff --git a/java/darkknight/jewelrycraft/item/ItemNecklace.java b/java/darkknight/jewelrycraft/item/ItemNecklace.java index e5905b5..9668589 100644 --- a/java/darkknight/jewelrycraft/item/ItemNecklace.java +++ b/java/darkknight/jewelrycraft/item/ItemNecklace.java @@ -7,17 +7,30 @@ import darkknight.jewelrycraft.util.JewelryNBT; public class ItemNecklace extends ItemBaseJewelry { - public IIcon gem; + public IIcon gem; + + /** + * + */ public ItemNecklace() - { - } + {} + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:necklace"); gem = iconRegister.registerIcon("jewelrycraft:jewelNecklace"); } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; diff --git a/java/darkknight/jewelrycraft/item/ItemRing.java b/java/darkknight/jewelrycraft/item/ItemRing.java index af546fe..4472324 100644 --- a/java/darkknight/jewelrycraft/item/ItemRing.java +++ b/java/darkknight/jewelrycraft/item/ItemRing.java @@ -7,18 +7,30 @@ import darkknight.jewelrycraft.util.JewelryNBT; public class ItemRing extends ItemBaseJewelry { - public IIcon gem; + public IIcon gem; + + /** + * + */ public ItemRing() - { - super(); - } + {} + /** + * @param iconRegister + */ + @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("jewelrycraft:ring"); gem = iconRegister.registerIcon("jewelrycraft:jewelRing"); } + /** + * @param stack + * @param pass + * @return + */ + @Override public IIcon getIcon(ItemStack stack, int pass) { if (pass == 0) return itemIcon; diff --git a/java/darkknight/jewelrycraft/item/ItemThiefGloves.java b/java/darkknight/jewelrycraft/item/ItemThiefGloves.java index 658e9cc..e9cbeca 100644 --- a/java/darkknight/jewelrycraft/item/ItemThiefGloves.java +++ b/java/darkknight/jewelrycraft/item/ItemThiefGloves.java @@ -3,7 +3,6 @@ package darkknight.jewelrycraft.item; import java.util.Iterator; import java.util.List; import java.util.Random; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityVillager; @@ -18,73 +17,76 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; - import org.lwjgl.input.Keyboard; - import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.PlayerUtils; public class ItemThiefGloves extends Item { public Random rand = new Random(); + /** + * + */ public ItemThiefGloves() { super(); - this.setCreativeTab(CreativeTabs.tabTools); - this.setMaxStackSize(1); - this.setMaxDamage(10); + setCreativeTab(CreativeTabs.tabTools); + setMaxStackSize(1); + setMaxDamage(10); } + /** + * @param stack + * @param player + * @param entity + * @return + */ @Override public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity) { - if (entity instanceof EntityVillager) - { - EntityVillager villager = (EntityVillager) entity; - int wealth = (Integer) ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "wealth", "field_70956_bz"); - MerchantRecipeList buyingList = (MerchantRecipeList) ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "buyingList", "field_70963_i"); + if (entity instanceof EntityVillager){ + EntityVillager villager = (EntityVillager)entity; + int wealth = (Integer)ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "wealth", "field_70956_bz"); + MerchantRecipeList buyingList = (MerchantRecipeList)ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "buyingList", "field_70963_i"); int chance = 5; boolean areOtherVillagersAround = false, canTheySeeYou = false; AxisAlignedBB axisalignedbb = villager.boundingBox.expand(4.0D, 4.0D, 4.0D); List entities = villager.worldObj.getEntitiesWithinAABBExcludingEntity(villager, axisalignedbb); - for (Object s : entities) - if (s instanceof EntityVillager) - { + for(Object s: entities) + if (s instanceof EntityVillager){ areOtherVillagersAround = true; chance += rand.nextInt(2); - if (((EntityVillager) s).canEntityBeSeen(player)) - { + if (((EntityVillager)s).canEntityBeSeen(player)){ chance += 2; canTheySeeYou = true; } } if (villager.canEntityBeSeen(player)) chance += 5; - if (player.isPotionActive(Potion.invisibility)) chance -= (0.8 * chance); + if (player.isPotionActive(Potion.invisibility)) chance -= 0.8 * chance; if (player.capabilities.isCreativeMode) chance = 1; int steal = rand.nextInt(chance); - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft"); - if (buyingList != null) - { + if (steal == 0){ + villager.dropItem(Items.emerald, wealth); + ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 0, "wealth", "field_70956_bz"); + } + if (buyingList != null){ Iterator<?> iterator = buyingList.iterator(); - if (steal == 0) - { - while (iterator.hasNext()) - { - MerchantRecipe recipe = (MerchantRecipe) iterator.next(); - int toolUses = (Integer) ReflectionHelper.getPrivateValue(MerchantRecipe.class, recipe, "toolUses", "field_77400_d"); + if (steal == 0){ + while (iterator.hasNext()){ + MerchantRecipe recipe = (MerchantRecipe)iterator.next(); + int toolUses = (Integer)ReflectionHelper.getPrivateValue(MerchantRecipe.class, recipe, "toolUses", "field_77400_d"); int quantity; if (recipe.getItemToSell().isStackable()) quantity = recipe.getItemToSell().stackSize * (7 - toolUses); else quantity = recipe.getItemToSell().stackSize; ItemStack s = new ItemStack(recipe.getItemToSell().getItem(), quantity, recipe.getItemToSell().getItemDamage()); s.setTagCompound(recipe.getItemToSell().getTagCompound()); - if (player.inventory.addItemStackToInventory(s)) - ; + if (player.inventory.addItemStackToInventory(s)) ; else villager.entityDropItem(s, 0); - if (playerInfo.hasKey("cursePoints")) playerInfo.setInteger("cursePoints", playerInfo.getInteger("cursePoints") + 5); - else playerInfo.setInteger("cursePoints", 5); + JewelrycraftUtil.addCursePoints(player, 5); player.addChatMessage(new ChatComponentText("Villager #" + villager.getProfession() + ": Hmmm... I seem to have lost my " + s.getDisplayName() + "!")); stack.damageItem(1, player); } @@ -95,64 +97,69 @@ public class ItemThiefGloves extends Item 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.")); - } - else - { - 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.")); - 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() + ".")); - else player.addChatMessage(new ChatComponentText("A villager nearby saw you trying to steal from Villager #" + villager.getProfession() + ".")); + }else{ + stack.damageItem(1, player); + 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.")); + } + 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.")); + 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.")); + 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.")); + 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.")); } - stack.damageItem(1, player); - if (playerInfo.hasKey("cursePoints")) playerInfo.setInteger("cursePoints", playerInfo.getInteger("cursePoints") + 25); - else playerInfo.setInteger("cursePoints", 25); } } - if (steal == 0) - { - villager.dropItem(Items.emerald, wealth); - ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 0, "wealth", "field_70956_bz"); - } return true; - } - else - { - return super.itemInteractionForEntity(stack, player, entity); - } + }else return super.itemInteractionForEntity(stack, player, entity); } + /** + * @param stack + * @param player + * @param list + * @param par4 + */ @Override - @SuppressWarnings("unchecked") - public void addInformation(ItemStack stack, EntityPlayer player, @SuppressWarnings("rawtypes") List list, boolean par4) + @SuppressWarnings ("unchecked") + public void addInformation(ItemStack stack, EntityPlayer player, @SuppressWarnings ("rawtypes") List list, boolean par4) { if (!shouldAddAdditionalInfo()) list.add(EnumChatFormatting.GRAY + additionalInfoInstructions()); - else - { + 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."); } } + /** + * @return + */ public static boolean shouldAddAdditionalInfo() { - if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) - { - if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { return true; } - } + if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) return true; return false; } + /** + * @return + */ public static String additionalInfoInstructions() { String message = "\247oPress \247b<SHIFT>\2477\247o for more information."; return message; } - } |
