Files
Lobby/src/main/java/eu/milujukockoholky/vexliolobby/config/Messages.java
T
admin fa547dce64 feat: transition to VexlioHub, clean up modules, add effects & localize configs
- Rename and relocate package from DeluxeHubReloaded to VexlioHub
- Remove deprecated modules: antiwdl, scoreboard, tablist, pvp_mode, teleportation_bow, anti_swear, lockchat, vanish, holograms
- Refactor all commands to standard Bukkit CommandExecutor/TabCompleter registered dynamically via Bukkit CommandMap
- Add particle, sound, and trail configurations for launchpad and double jump modules
- Implement actionbar announcements and join title welcome animation modules
- Fully customize, translate to Czech, and restyle all configuration files in the 'uprava/' directory with the purple-cyan gradient theme
2026-06-24 23:53:11 +02:00

93 lines
2.9 KiB
Java

package eu.milujukockoholky.vexliolobby.config;
import eu.milujukockoholky.vexliolobby.utility.TextUtil;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import java.util.List;
public enum Messages {
PREFIX("GENERAL.PREFIX"),
NO_PERMISSION("GENERAL.NO_PERMISSION"),
CUSTOM_COMMAND_NO_PERMISSION("GENERAL.CUSTOM_COMMAND_NO_PERMISSION"),
INVALID_PLAYER("GENERAL.INVALID_PLAYER"),
CONFIG_RELOAD("GENERAL.CONFIG_RELOAD"),
COOLDOWN_ACTIVE("GENERAL.COOLDOWN_ACTIVE"),
GAMEMODE_CHANGE("GAMEMODE.GAMEMODE_CHANGE"),
GAMEMODE_CHANGE_OTHER("GAMEMODE.GAMEMODE_CHANGE_OTHER"),
GAMEMODE_INVALID("GAMEMODE.GAMEMODE_INVALID"),
FLIGHT_ENABLE("FLIGHT.ENABLE"),
FLIGHT_ENABLE_OTHER("FLIGHT.ENABLE_OTHER"),
FLIGHT_DISABLE("FLIGHT.DISABLE"),
FLIGHT_DISABLE_OTHER("FLIGHT.DISABLE_OTHER"),
PLAYER_HIDER_HIDDEN("PLAYER_HIDER.HIDDEN"),
PLAYER_HIDER_SHOWN("PLAYER_HIDER.SHOWN"),
SET_LOBBY("LOBBY.SET_LOBBY"),
CLEARCHAT("CHAT.CLEARCHAT"),
CLEARCHAT_PLAYER("CHAT.CLEARCHAT_PLAYER"),
DOUBLE_JUMP_COOLDOWN("DOUBLE_JUMP.COOLDOWN_ACTIVE"),
EVENT_ITEM_DROP("WORLD_EVENT_MODIFICATIONS.ITEM_DROP"),
EVENT_ITEM_PICKUP("WORLD_EVENT_MODIFICATIONS.ITEM_PICKUP"),
EVENT_BLOCK_PLACE("WORLD_EVENT_MODIFICATIONS.BLOCK_PLACE"),
EVENT_BLOCK_BREAK("WORLD_EVENT_MODIFICATIONS.BLOCK_BREAK"),
EVENT_BLOCK_INTERACT("WORLD_EVENT_MODIFICATIONS.BLOCK_INTERACT"),
BUILD_MODE_ENABLED_ACTIONBAR("BUILD_MODE.ENABLED_ACTION_BAR"),
BUILD_MODE_ENABLED("BUILD_MODE.ENABLED"),
BUILD_MODE_DISABLED("BUILD_MODE.DISABLED"),
BUILD_MODE_COMMAND_TARGET_NOT_FOUND("BUILD_MODE.TARGET_NOT_FOUND"),
BUILD_MODE_COMMAND_ENABLED_FOR_TARGET("BUILD_MODE.ENABLED_FOR_TARGET");
private static FileConfiguration config;
private final String path;
Messages(String path) {
this.path = path;
}
public static void setConfiguration(FileConfiguration c) {
config = c;
}
public String toString() {
Object value = config.get("Messages." + this.path);
String message;
if (value == null) {
message = "VexlioHub: message not found (" + this.path + ") - Check your messages.yml!";
} else {
message = value instanceof List ? TextUtil.fromList((List<?>) value) : value.toString();
}
return message;
}
public void send(CommandSender receiver, Object... replacements) {
String message = toString();
if (!message.isEmpty()) {
receiver.sendMessage(TextUtil.color(replace(message, replacements)));
}
}
private String replace(String message, Object... replacements) {
for (int i = 0; i < replacements.length; i += 2) {
if (i + 1 >= replacements.length) break;
message = message.replace(String.valueOf(replacements[i]), String.valueOf(replacements[i + 1]));
}
String prefix = config.getString("Messages." + PREFIX.getPath());
return message.replace("%prefix%", prefix != null && !prefix.isEmpty() ? prefix : "");
}
public String getPath() {
return this.path;
}
}