package eu.mhsl.minenet.minigames; import eu.mhsl.minenet.minigames.util.ResourceUtils; import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Path; import java.util.logging.Logger; /** * Predefined resources which are extracted on Runtime */ public enum Resource { CONFIG("config.yml", true), HUB_MAP("maps/hub"), LOBBY_MAP("maps/lobby"), RESULT_DISPLAY("maps/resultdisplay"), GAME_MAP("maps/game"), LOCALES("lang"); private final Path path; private final String name; Resource(String name, boolean keepOutdated) { this.name = name; this.path = Path.of("resources/" + name); try { Logger.getLogger("ressource").info("extracting resource " + name + " ... "); ResourceUtils.extractResource(name, keepOutdated); } catch (URISyntaxException | IOException e) { throw new RuntimeException(e); } } Resource(String name) { this(name, false); } public Path getPath() { return path; } public String getName() { return name; } }