public class Inventory { private Item[] items; public Inventory(Item[] items) { super(); this.items = items; } public void updateQuality(){ for (int i = 0; i < items.length; i++) { if (items[i].getName().equals("Aged Brie")){ updateBrieWhole(items[i]); } else if (items[i].getName().equals("Sulfuras, Hand of Ragnaros")){ updateSulfWhole(items[i]); } else { updateNormWhole(items[i]); } } } public void updateSell(Item item){ int updateSellValue = item.getSellIn()-1; item.setSellIn(updateSellValue); } public void updateSulfWhole(Item item){ //updateSell(item); updateSulfQual(item); } public void updateSulfQual(Item item){ //For future changes to Sulfurus Item } public void updateBrieWhole(Item item){ updateSell(item); updateBrieQual(item); } public void updateBrieQual(Item item){ int updateQualValue = item.getQuality()+1; if (item.getQuality() > 50){ item.setQuality(50); } if (item.getQuality() > 0 && item.getQuality() < 50){ item.setQuality(updateQualValue); } else if (item.getQuality() < 0){ item.setQuality(0); //Quality cannot be negative } else { item.setQuality(item.getQuality()); //keeps it at 50 } if (item.getSellIn() < 0){ item.setQuality(updateQualValue + 1); } } public void updateNormWhole(Item item){ updateSell(item); updateNormQual(item); } public void updateNormQual(Item item){ int updateQualValue = item.getQuality()-1; if (item.getQuality() > 50){ item.setQuality(50); } if (item.getQuality() > 0){ item.setQuality(updateQualValue); } else { item.setQuality(0); //Quality cannot be negative } if (item.getSellIn() < 0){ item.setQuality(updateQualValue - 1); } } }