/** * Merges lines on a sign into a single line for processing, when the direction on the lines * match. Needed for support of the '!' character. */ public static ArrayList<String> getItemLines(Sign sign) { HashMap<CompassDirection, String> directions = new HashMap<CompassDirection, String>(5); ArrayList<String> lines = new ArrayList<String>(3); for (int line = 1; line < 4; line++) { String text = StringUtils.removeBrackets(sign.getLine(line)).trim(); if (!text.isEmpty() && !isFurnaceFuelLine(text) && !isFurnaceSmeltLine(text)) { CompassDirection direction = ItemUtils.getLineItemDirection(text); if (!directions.containsKey(direction)) { directions.put(direction, text); } else { String format = text; if (direction != CompassDirection.NO_DIRECTION) { format = format.substring(2); } directions.put(direction, directions.get(direction) + ":" + format); } } } MinecartManiaLogger.getInstance().debug("Merged Item Strings"); Iterator<Entry<CompassDirection, String>> i = directions.entrySet().iterator(); while (i.hasNext()) { Entry<CompassDirection, String> entry = i.next(); lines.add(entry.getValue()); MinecartManiaLogger.getInstance().debug("Item String: " + entry.getValue()); } return lines; }