fa547dce64
- 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
93 lines
2.9 KiB
Java
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;
|
|
}
|
|
|
|
}
|