public int getNumChestsAttachedToSign(ShopSign sign) { int itemid = sign.getItemId(); int count = 0; count += chests_by_itemid.containsKey(itemid) ? chests_by_itemid.get(itemid).size() : 0; count += chests_by_itemid.containsKey(Defaults.EVERYTHING_ID) ? chests_by_itemid.get(Defaults.EVERYTHING_ID).size() : 0; return count; }
public void removeSign(ShopSign ss) { String lockey = KeyUtil.getStringLoc(ss); signs_by_loc.remove(lockey); int itemid = ss.getItemId(); Map<String, ShopSign> map = signs_by_itemid.get(itemid); if (map != null) { map.remove(lockey); if (map.size() <= 0) { signs_by_itemid.remove(itemid); } } }
public int addShopSign(ShopSign sign) { String key = KeyUtil.getStringLoc(sign); signs_by_loc.put(key, sign); int itemid = sign.getItemId(); if (!signs_by_itemid.containsKey(itemid)) { signs_by_itemid.put(itemid, new HashMap<String, ShopSign>()); } Map<String, ShopSign> ss = signs_by_itemid.get(itemid); ss.put(key, sign); int count = 0; count += chests_by_itemid.containsKey(itemid) ? chests_by_itemid.get(itemid).size() : 0; count += chests_by_itemid.containsKey(Defaults.EVERYTHING_ID) ? chests_by_itemid.get(Defaults.EVERYTHING_ID).size() : 0; return count; }