private void createItems() {
        HashSet<String> itemPaths;
        try {
            itemPaths = KvReader.getKvFiles("./items/");
        } catch (IOException e){
            e.printStackTrace(System.err);
            return;
        }
        for (String s : itemPaths) {
            HashMap<String, String> itemAttributes = KvReader.readFile(s);
            String name = itemAttributes.get("name");
            float weight = 0;
            
            try {
                weight = Float.valueOf(itemAttributes.get("weight"));
            } catch (NumberFormatException e){
                System.err.println("NaN error with item " + name);
                //Ignore this item and move on
                continue;
            }
            Item i = new Item(weight, name);
            if (itemAttributes.get("room") == null) {
                orphanedItems.put(name, i);
            } else {
                Room room = rooms.get(itemAttributes.get("room"));
                if(room instanceof SpecialRoom){
                   ((SpecialRoom)room).setReward(i);
                } else {
                    room.addItem(i);
                }
            }
        }
    }