A few improvements:
If you're not going to extend upon a class (which in this case you're not), declare it "public final class BlastFurnace"
Code:
public static final int[] ores = { 436, 438, 440, 453, 444, 442, 447, 449, 451 };
This should probably be private static final int[] ORES instead.
Code:
oreDeposit.remove((Integer)number);
I don't see why casting to an Integer here is necessary.
Code:
public void CreateBar() {
// Runite
while (oreDeposit.contains(451) && removeSpecifiedAmount(453, 4, oreDeposit) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 12));
oreDeposit.remove(new Integer(451));
player.getInventory().addItem(new Item(2363, 1));
player.getSkill().addExp(Skill.SMITHING, 50);
}
//Adamantite
while (oreDeposit.contains(449) && removeSpecifiedAmount(453, 3, oreDeposit) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 8));
oreDeposit.remove(new Integer(449));
player.getInventory().addItem(new Item(2361, 1));
player.getSkill().addExp(Skill.SMITHING, 38);
}
//Mithril
while (oreDeposit.contains(447) && removeSpecifiedAmount(453, 2, oreDeposit) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 5));
oreDeposit.remove(new Integer(447));
player.getInventory().addItem(new Item(2359, 1));
player.getSkill().addExp(Skill.SMITHING, 30);
}
//Steel
while (oreDeposit.contains(440) && oreDeposit.contains(453) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 4));
oreDeposit.remove(new Integer(440));
oreDeposit.remove(new Integer(453));
player.getInventory().addItem(new Item(2353, 1));
player.getSkill().addExp(Skill.SMITHING, 18);
}
//Iron
while (oreDeposit.contains(440) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 2));
oreDeposit.remove(new Integer(440));
player.getInventory().addItem(new Item(2351, 1));
player.getSkill().addExp(Skill.SMITHING, 13);
}
//Copper
while (oreDeposit.contains(436) && oreDeposit.contains(438) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 1));
oreDeposit.remove(new Integer(436));
oreDeposit.remove(new Integer(438));
player.getInventory().addItem(new Item(2349, 1));
player.getSkill().addExp(Skill.SMITHING, 6);
}
//Gold
while (oreDeposit.contains(444) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 3));
oreDeposit.remove(new Integer(444));
player.getInventory().addItem(new Item(2357, 1));
player.getSkill().addExp(Skill.SMITHING, 23);
}
//Silver
while (oreDeposit.contains(442) && player.getInventory().getItemContainer().freeSlots() > 0) {
player.getInventory().addItem(new Item(nuggets, 2));
oreDeposit.remove(new Integer(442));
player.getInventory().addItem(new Item(2355, 1));
player.getSkill().addExp(Skill.SMITHING, 14);
}
if (player.getInventory().getItemContainer().freeSlots() <= 0)
player.getActionSender().sendMessage("Your inventory is too full to hold anymore bars.");
else
player.getActionSender().sendMessage("There's no ore to be smelted.");
}
I think this method literally gave me cancer lol.
Make an enum with all this data so you can do this in a much more concise manner.
Code:
private int nuggets = 680;
This is a constant and should be declared as one.
You should also consider reading up on java conventions because there was a lot of really bad naming practices in here.
There's more but that's all I could write in school atm.