Hub / src / main / java / com / lifeknight / relaymchub / miscellaneous / GameKit.java
GameKit.java
Raw
package com.lifeknight.relaymchub.miscellaneous;

import com.lifeknight.relaymcutils.player.Kit;
import com.lifeknight.relayutils.basic.Miscellaneous;
import com.lifeknight.relayutils.game.MainGame;

import java.util.ArrayList;
import java.util.List;

import static com.lifeknight.relaymcutils.player.Kits.*;

public class GameKit {
    public static final List<GameKit> GAME_KITS = new ArrayList<>();

    public final MainGame mainGame;
    public final Kit kit;

    public GameKit(MainGame mainGame, Kit kit) {
        this.mainGame = mainGame;
        this.kit = kit;
        GAME_KITS.add(this);
    }

    public static List<GameKit> getKitsForGame(MainGame mainGame) {
        List<GameKit> gameKits = Miscellaneous.getList(GAME_KITS);
        gameKits.removeIf(gameKit -> gameKit.mainGame != mainGame);
        return gameKits;
    }

    public static boolean gameHasKits(MainGame mainGame) {
        return !getKitsForGame(mainGame).isEmpty();
    }

    public static void createGameKits(MainGame mainGame, Kit... kits) {
        for (Kit kit : kits) {
            new GameKit(mainGame, kit);
        }
    }

    static {
        createGameKits(MainGame.DUELS, DUELS_NORMAL, DUELS_BIZARRE, DUELS_AXE, DUELS_RANKED);
 //      createGameKits(MainGame.MANHUNT, MANHUNT_SPEEDRUNNER_DEFAULT, MANHUNT_SPEEDRUNNER_LUNCHBOX, MANHUNT_SPEEDRUNNER_SAILOR, MANHUNT_SPEEDRUNNER_ATHELETE, MANHUNT_SPEEDRUNNER_SPEEDRUNNER, MANHUNT_SPEEDRUNNER_PATHFINDER,
   //           MANHUNT_HUNTER_DEFAULT, MANHUNT_HUNTER_LUMBERJACK, MANHUNT_HUNTER_BEDWARS, MANHUNT_HUNTER_ARCHER, MANHUNT_HUNTER_HUNGRY, MANHUNT_HUNTER_ENDERMAN);
       // createGameKits(MainGame.ULTIMATE_TAG, ULTIMATE_TAG_RUNNER_DEFAULT, ULTIMATE_TAG_RUNNER_WOODSMITH, ULTIMATE_TAG_RUNNER_SOUL_SPEEDER, ULTIMATE_TAG_RUNNER_PILLAGER,  ULTIMATE_TAG_HUNTER_DEFAULT, ULTIMATE_TAG_HUNTER_HAWK_EYE, ULTIMATE_TAG_HUNTER_HARVESTER, ULTIMATE_TAG_HUNTER_AQUAMAN, ULTIMATE_TAG_HUNTER_BUILDER);
    }

    public static Kit getKit(String name) {
        return Miscellaneous.match(Miscellaneous.processList(GAME_KITS, gameKit -> gameKit.kit), kit1 -> kit1.name.equalsIgnoreCase(name));
    }
}