Dateien nach "src/main/java/com/alttd/playerutils/config" hochladen

This commit is contained in:
stranzjakob 2026-05-13 22:28:54 +00:00
parent d52ed69526
commit 6cc6ec4a25

View File

@ -0,0 +1,178 @@
package com.alttd.playerutils.config;
import lombok.extern.slf4j.Slf4j;
import org.bukkit.configuration.ConfigurationSection;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
@Slf4j public class Config extends AbstractConfig{
static Config config;
Config() {
super(
new File(File.separator
+ "mnt" + File.separator
+ "configs" + File.separator
+ "PlayerUtils"),
"config.yml");
}
public static void reload() {
log.info("Reloading config");
config = new Config();
config.readConfig(Config.class, null);
}
public static class SETTINGS {
private static final String prefix = "settings.";
public static boolean DEBUG = false;
public static boolean WARNINGS = true;
@SuppressWarnings("unused")
private static void load() {
DEBUG = config.getBoolean(prefix, "debug", DEBUG);
WARNINGS = config.getBoolean(prefix, "warnings", WARNINGS);
}
}
public static class KEY {
private static final String prefix = "key.";
public static HashMap<String, Integer> CRATES = new HashMap<>();
@SuppressWarnings("unused")
private static void load() {
CRATES.clear();
ConfigurationSection configurationSection = config.getConfigurationSection(prefix.substring(0, prefix.length() - 1));
if (configurationSection == null) {
log.warn("No keys configured, adding default");
config.set(prefix, "dailyvotecrate", 0);
config.set(prefix, "weeklyvotecrate", 0);
config.set(prefix, "questcrate", 0);
return;
}
Set<String> keys = configurationSection.getKeys(false);
for (String key : keys) {
CRATES.put(key, config.getInt(prefix, key, 0));
}
}
}
public static class ARMOR_STAND_LIMIT {
private static final String prefix = "armor_stand_limit.";
public static HashMap<String, Integer> LIMIT = new HashMap<>();
@SuppressWarnings("unused")
private static void load() {
LIMIT.clear();
ConfigurationSection configurationSection = config.getConfigurationSection(prefix.substring(0, prefix.length() - 1));
if (configurationSection == null) {
log.warn("No limits configured, adding default");
config.set(prefix, "default", 10);
}
Set<String> limits = configurationSection.getKeys(false);
for (String key : limits) {
LIMIT.put(key, config.getInt(prefix, key, 10));
}
}
}
public static class LOCATOR_BAR {
private static final String prefix = "locator_bar.";
public static double WAYPOINT_RECEIVE_RANGE = 200;
public static double WAYPOINT_TRANSMIT_RANGE = 200;
@SuppressWarnings("unused")
private static void load() {
WAYPOINT_RECEIVE_RANGE = config.getDouble(prefix, "waypoint_receive_range", WAYPOINT_RECEIVE_RANGE);
WAYPOINT_TRANSMIT_RANGE = config.getDouble(prefix, "waypoint_transmit_range", WAYPOINT_TRANSMIT_RANGE);
}
}
public static class VILLAGER_WORKSTATION {
private static final String prefix = "villager-workstation.";
public static int RANGE = 8;
public static int CHECK_INTERVAL_TICKS = 5;
public static int PARTICLE_RING_COUNT = 8;
@SuppressWarnings("unused")
private static void load() {
RANGE = config.getInt(prefix, "range", RANGE);
CHECK_INTERVAL_TICKS = config.getInt(prefix, "check-interval-ticks", CHECK_INTERVAL_TICKS);
PARTICLE_RING_COUNT = config.getInt(prefix, "particle-ring-count", PARTICLE_RING_COUNT);
}
}
public static class RANDOM_PLOT {
private static final String prefix = "random-plot.";
// Command
public static String PORT_COMMAND = "rpp";
public static List<String> ALLOWED_WORLDS = List.of("plotworld");
// Permissions
public static boolean USE_LUCKPERMS = true;
public static String LUCKPERMS_GROUP = "default";
public static boolean USE_VAULT = false;
public static String VAULT_GROUP = "member";
public static String FALLBACK_PERM = "randomplot.use";
// Countdown
public static int COUNTDOWN_SECONDS = 3;
public static HashMap<Integer, String> COUNTDOWN_TITLES = new HashMap<>();
public static String COUNTDOWN_SUBTITLE = "<gray>Preparing teleportation</gray>";
// Messages
public static String MSG_TELEPORT_START = "<green>Starting teleport countdown...</green>";
public static String MSG_TELEPORT_SUCCESS = "<gold>You have arrived at a random plot!</gold>";
public static String MSG_TELEPORT_CANCELLED = "<red>Teleport cancelled! You moved.</red>";
public static String MSG_NO_PLOTS_FOUND = "<red>No plots found in this world.</red>";
@SuppressWarnings("unused")
private static void load() {
PORT_COMMAND = config.getString(prefix, "port-command", PORT_COMMAND);
ALLOWED_WORLDS = config.getStringList(prefix, "allowed-worlds", ALLOWED_WORLDS);
USE_LUCKPERMS = config.getBoolean(prefix + "permissions.", "use-luckperms", USE_LUCKPERMS);
LUCKPERMS_GROUP = config.getString(prefix + "permissions.", "luckperms-group", LUCKPERMS_GROUP);
USE_VAULT = config.getBoolean(prefix + "permissions.", "use-vault", USE_VAULT);
VAULT_GROUP = config.getString(prefix + "permissions.", "vault-group", VAULT_GROUP);
FALLBACK_PERM = config.getString(prefix + "permissions.", "fallback-perm", FALLBACK_PERM);
COUNTDOWN_SECONDS = config.getInt(prefix + "countdown.", "seconds", COUNTDOWN_SECONDS);
COUNTDOWN_SUBTITLE = config.getString(prefix + "countdown.", "subtitle", COUNTDOWN_SUBTITLE);
// Countdown titles integer keys map to display strings
COUNTDOWN_TITLES.clear();
ConfigurationSection titlesSection =
config.getConfigurationSection("random-plot.countdown.titles");
if (titlesSection != null) {
for (String key : titlesSection.getKeys(false)) {
try {
COUNTDOWN_TITLES.put(Integer.parseInt(key),
titlesSection.getString(key, key));
} catch (NumberFormatException ignored) {}
}
} else {
// Write defaults on first run
config.yaml.addDefault("random-plot.countdown.titles.3", "<#08FBFF>3");
config.yaml.addDefault("random-plot.countdown.titles.2", "<#08FBFF>2");
config.yaml.addDefault("random-plot.countdown.titles.1", "<#08FBFF>1");
COUNTDOWN_TITLES.put(3, "<#08FBFF>3");
COUNTDOWN_TITLES.put(2, "<#08FBFF>2");
COUNTDOWN_TITLES.put(1, "<#08FBFF>1");
}
MSG_TELEPORT_START = config.getString(prefix + "messages.", "teleport-start", MSG_TELEPORT_START);
MSG_TELEPORT_SUCCESS = config.getString(prefix + "messages.", "teleport-success", MSG_TELEPORT_SUCCESS);
MSG_TELEPORT_CANCELLED = config.getString(prefix + "messages.", "teleport-cancelled", MSG_TELEPORT_CANCELLED);
MSG_NO_PLOTS_FOUND = config.getString(prefix + "messages.", "no-plots-found", MSG_NO_PLOTS_FOUND);
}
}
}