private static void loadItemTypes(String fn) {
        String line;
        String parts[];
        String damages[];

        try {
            InputStream in = Weapon.class.getResourceAsStream(GameController.CONFIG_DIR + fn);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));

            String itemName = "";
            String type = "";
            int[] damage = new int[21];
            int speed = 0;
            int knockBackX = 0;
            int knockBackY = 0;
            int maxHits = 0;
            int range = 0;
            int animationFrames = 0;
            boolean comesBack = false;

            WeaponType wt;

            while ((line = br.readLine()) != null) {
                if (line.length() == 0) {
                    continue;
                }
                if (line.startsWith("//")) {
                    continue;
                }

                parts = line.split(" ");

                if (parts.length != 10) {
                    System.out.println("Error in " + fn);
                }

                itemName = parts[0];
                type = parts[1];
                
                damages = parts[2].split(":");
                damage = new int[21];
                damage[0] = 0;
                for(int i = 0; i < damages.length; i++) {
                    damage[i + 1] = Integer.parseInt(damages[i]);
                }
                speed = Integer.parseInt(parts[3]);
                knockBackX = Integer.parseInt(parts[4]);
                knockBackY = Integer.parseInt(parts[5]);
                maxHits = Integer.parseInt(parts[6]);
                range = Integer.parseInt(parts[7]);
                animationFrames = Integer.parseInt(parts[8]);
                if(Integer.parseInt(parts[9]) == 1) {
                    comesBack = true;
                } else {
                    comesBack = false;
                }

                wt = new WeaponType(itemName, type, damage, speed, knockBackX, knockBackY, maxHits, range, animationFrames, comesBack);
                weaponTypes.put(itemName, wt);
            }
            in.close();
        } catch (Exception e) {
            System.err.println("Error: " + e.getMessage());
        }
    }