@Override public void onPlayerLeave(Player player) { // Clean up player's resources } } // GameModeManager.java public class GameModeManager { private Map<String, GameMode> gameModes;
public GameModeManager() { this.gameModes = new HashMap<>(); }
public abstract void onPlayerJoin(Player player); public abstract void onPlayerLeave(Player player);
public GameMode(String name, String description) { this.name = name; this.description = description; this.settings = new HashMap<>(); }
public void registerGameMode(GameMode gameMode) { gameModes.put(gameMode.getName(), gameMode); }