mirror of
https://github.com/CarmJos/MoeTeleport.git
synced 2024-09-19 21:35:56 +00:00
完成配置读取部分
This commit is contained in:
parent
7f3ef03f78
commit
0c8cd6dee4
@ -66,9 +66,12 @@ permissions:
|
|||||||
# 传送请求过期时间
|
# 传送请求过期时间
|
||||||
expireTime: 30
|
expireTime: 30
|
||||||
|
|
||||||
messages: ... # 见源文件
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 消息配置文件 ([messages.yml](src/main/resources/messages.yml))
|
||||||
|
|
||||||
|
详见源文件。
|
||||||
|
|
||||||
### 玩家数据配置文件 (data/\<UUID\>.yml)
|
### 玩家数据配置文件 (data/\<UUID\>.yml)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
18
pom.xml
18
pom.xml
@ -4,6 +4,13 @@
|
|||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>8</maven.compiler.source>
|
||||||
|
<maven.compiler.target>8</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<groupId>cc.carm.plugin</groupId>
|
<groupId>cc.carm.plugin</groupId>
|
||||||
<artifactId>moeteleport</artifactId>
|
<artifactId>moeteleport</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>1.0.0</version>
|
||||||
@ -21,25 +28,16 @@
|
|||||||
<system>GitHub Actions</system>
|
<system>GitHub Actions</system>
|
||||||
<url>${project.url}/actions/workflows/maven.yml</url>
|
<url>${project.url}/actions/workflows/maven.yml</url>
|
||||||
</ciManagement>
|
</ciManagement>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
<developer>
|
<developer>
|
||||||
<id>CarmJos</id>
|
<id>CarmJos</id>
|
||||||
<name>Carm Jos</name>
|
<name>Carm Jos</name>
|
||||||
<email>carm@carm.cc</email>
|
<email>carm@carm.cc</email>
|
||||||
<url>https://work.carm.cc</url>
|
<url>https://work.carm.cc</url>
|
||||||
<roles>
|
|
||||||
<role>Main Developer</role>
|
|
||||||
</roles>
|
|
||||||
</developer>
|
</developer>
|
||||||
</developers>
|
</developers>
|
||||||
|
|
||||||
<properties>
|
|
||||||
<maven.compiler.source>8</maven.compiler.source>
|
|
||||||
<maven.compiler.target>8</maven.compiler.target>
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
|
||||||
<repository>
|
<repository>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport;
|
package cc.carm.plugin.moeteleport;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.listener.UserListener;
|
import cc.carm.plugin.moeteleport.listener.UserListener;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
import cc.carm.plugin.moeteleport.util.ColorParser;
|
import cc.carm.plugin.moeteleport.util.ColorParser;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
@ -23,8 +24,7 @@ public class Main extends JavaPlugin {
|
|||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
|
|
||||||
log("加载配置文件...");
|
log("加载配置文件...");
|
||||||
saveDefaultConfig();
|
ConfigManager.initConfig();
|
||||||
reloadConfig();
|
|
||||||
|
|
||||||
log("注册监听器...");
|
log("注册监听器...");
|
||||||
regListener(new UserListener());
|
regListener(new UserListener());
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
package cc.carm.plugin.moeteleport.command;
|
|
||||||
|
|
||||||
public class TpAcceptCommand {
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
package cc.carm.plugin.moeteleport.command;
|
|
||||||
|
|
||||||
public class TpaCommand {
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
package cc.carm.plugin.moeteleport.command;
|
|
||||||
|
|
||||||
public class TpaDenyCommand {
|
|
||||||
}
|
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.tpa;
|
||||||
|
|
||||||
|
public class TpAcceptCommand {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.tpa;
|
||||||
|
|
||||||
|
public class TpaCommand {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.tpa;
|
||||||
|
|
||||||
|
public class TpaDenyCommand {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.tpa;
|
||||||
|
|
||||||
|
public class TpaHereCommand {
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.values.ConfigValue;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class PluginConfig {
|
||||||
|
|
||||||
|
public static HashMap<String, Integer> getPermissions() {
|
||||||
|
return ConfigManager.getPermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ConfigValue<Integer> EXPIRE_TIME = new ConfigValue<>("expireTime", Integer.class, 30);
|
||||||
|
public static final ConfigValue<Integer> DEFAULT_HOME = new ConfigValue<>("defaultHome", Integer.class, 1);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.message.ConfigMessage;
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.message.ConfigMessageList;
|
||||||
|
|
||||||
|
public class PluginMessages {
|
||||||
|
|
||||||
|
public static final ConfigMessageList NO_LAST_LOCATION = new ConfigMessageList("no-last-location");
|
||||||
|
|
||||||
|
public static final ConfigMessageList TPA = new ConfigMessageList("tpa");
|
||||||
|
public static final ConfigMessageList TPA_HERE = new ConfigMessageList("tpahere");
|
||||||
|
public static final ConfigMessageList TPA_ACCEPT = new ConfigMessageList("tpaccept");
|
||||||
|
public static final ConfigMessageList TPA_DENY = new ConfigMessageList("tpadeny");
|
||||||
|
|
||||||
|
public static final ConfigMessageList ACCEPTED = new ConfigMessageList("accepted");
|
||||||
|
public static final ConfigMessageList DENIED = new ConfigMessageList("denied");
|
||||||
|
|
||||||
|
public static final ConfigMessageList TELEPORTING = new ConfigMessageList("teleporting");
|
||||||
|
public static final ConfigMessageList DANGEROUS = new ConfigMessageList("dangerous");
|
||||||
|
|
||||||
|
public static class Request {
|
||||||
|
public static final ConfigMessageList MULTI = new ConfigMessageList("multi-requests");
|
||||||
|
public static final ConfigMessageList TIMEOUT = new ConfigMessageList("request-timeout");
|
||||||
|
public static final ConfigMessageList NOT_FOUND = new ConfigMessageList("no-request");
|
||||||
|
public static final ConfigMessageList NOT_FOUND_PLAYER = new ConfigMessageList("no-request-player");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Home {
|
||||||
|
public static final ConfigMessageList HEADER = new ConfigMessageList("home-list-header");
|
||||||
|
public static final ConfigMessage LIST_OBJECT = new ConfigMessage("home-list-object");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration.file;
|
||||||
|
|
||||||
|
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class FileConfig {
|
||||||
|
|
||||||
|
private final JavaPlugin plugin;
|
||||||
|
|
||||||
|
private final String fileName;
|
||||||
|
|
||||||
|
private File file;
|
||||||
|
private FileConfiguration config;
|
||||||
|
|
||||||
|
public FileConfig(final JavaPlugin plugin) {
|
||||||
|
this(plugin, "config.yml");
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileConfig(final JavaPlugin plugin, final String name) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
this.fileName = name;
|
||||||
|
initFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initFile() {
|
||||||
|
this.file = new File(plugin.getDataFolder(), fileName);
|
||||||
|
if (!this.file.exists()) {
|
||||||
|
if (!this.file.getParentFile().exists()) {
|
||||||
|
boolean success = this.file.getParentFile().mkdirs();
|
||||||
|
}
|
||||||
|
plugin.saveResource(fileName, true);
|
||||||
|
}
|
||||||
|
this.config = YamlConfiguration.loadConfiguration(this.file);
|
||||||
|
}
|
||||||
|
|
||||||
|
public File getFile() {
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileConfiguration getConfig() {
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save() {
|
||||||
|
try {
|
||||||
|
getConfig().save(getFile());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reload() {
|
||||||
|
if (getFile().exists()) {
|
||||||
|
this.config = YamlConfiguration.loadConfiguration(getFile());
|
||||||
|
} else {
|
||||||
|
initFile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration.message;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.values.ConfigValue;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
|
import cc.carm.plugin.moeteleport.util.MessageUtil;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
public class ConfigMessage extends ConfigValue<String> {
|
||||||
|
|
||||||
|
public ConfigMessage(String configSection) {
|
||||||
|
this(configSection, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigMessage(String configSection, String defaultValue) {
|
||||||
|
super(ConfigManager.getMessageConfig(), configSection, String.class, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void send(CommandSender sender) {
|
||||||
|
MessageUtil.send(sender, get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendWithPlaceholders(CommandSender sender) {
|
||||||
|
MessageUtil.sendWithPlaceholders(sender, get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendWithPlaceholders(CommandSender sender, String[] params, Object[] values) {
|
||||||
|
MessageUtil.sendWithPlaceholders(sender, Collections.singletonList(get()), params, values);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration.message;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.values.ConfigValueList;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
|
import cc.carm.plugin.moeteleport.util.MessageUtil;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
public class ConfigMessageList extends ConfigValueList<String> {
|
||||||
|
|
||||||
|
public ConfigMessageList(String configSection) {
|
||||||
|
super(ConfigManager.getMessageConfig(), configSection, String.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigMessageList(String configSection, String[] defaultValue) {
|
||||||
|
super(ConfigManager.getMessageConfig(), configSection, String.class, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void send(CommandSender sender) {
|
||||||
|
MessageUtil.send(sender, get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendWithPlaceholders(CommandSender sender) {
|
||||||
|
MessageUtil.sendWithPlaceholders(sender, get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendWithPlaceholders(CommandSender sender, String[] params, Object[] values) {
|
||||||
|
MessageUtil.sendWithPlaceholders(sender, get(), params, values);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,58 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration.values;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.file.FileConfig;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
public class ConfigValue<V> {
|
||||||
|
|
||||||
|
FileConfig source;
|
||||||
|
|
||||||
|
String configSection;
|
||||||
|
Class<V> clazz;
|
||||||
|
V defaultValue;
|
||||||
|
|
||||||
|
public ConfigValue(String configSection, Class<V> clazz) {
|
||||||
|
this(configSection, clazz, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigValue(String configSection, Class<V> clazz, V defaultValue) {
|
||||||
|
this(ConfigManager.getPluginConfig(), configSection, clazz, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigValue(FileConfig source, String configSection, Class<V> clazz, V defaultValue) {
|
||||||
|
this.source = source;
|
||||||
|
this.configSection = configSection;
|
||||||
|
this.clazz = clazz;
|
||||||
|
this.defaultValue = defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileConfiguration getConfiguration() {
|
||||||
|
return this.source.getConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
public V get() {
|
||||||
|
if (getConfiguration().contains(this.configSection)) {
|
||||||
|
Object val = getConfiguration().get(this.configSection, this.defaultValue);
|
||||||
|
return this.clazz.isInstance(val) ? this.clazz.cast(val) : this.defaultValue;
|
||||||
|
} else {
|
||||||
|
// 如果没有默认值,就把配置写进去,便于配置
|
||||||
|
return setDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set(V value) {
|
||||||
|
getConfiguration().set(this.configSection, value);
|
||||||
|
this.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save() {
|
||||||
|
this.source.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public V setDefault() {
|
||||||
|
set(this.defaultValue);
|
||||||
|
return this.defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,71 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.configuration.values;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.file.FileConfig;
|
||||||
|
import cc.carm.plugin.moeteleport.manager.ConfigManager;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ConfigValueList<V> {
|
||||||
|
FileConfig source;
|
||||||
|
String configSection;
|
||||||
|
Class<V> clazz;
|
||||||
|
|
||||||
|
V[] defaultValue;
|
||||||
|
|
||||||
|
public ConfigValueList(String configSection, Class<V> clazz) {
|
||||||
|
this(ConfigManager.getPluginConfig(), configSection, clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigValueList(String configSection, Class<V> clazz, V[] defaultValue) {
|
||||||
|
this(ConfigManager.getPluginConfig(), configSection, clazz, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigValueList(FileConfig configuration, String configSection, Class<V> clazz) {
|
||||||
|
this(configuration, configSection, clazz, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigValueList(FileConfig configuration, String configSection, Class<V> clazz, V[] defaultValue) {
|
||||||
|
this.source = configuration;
|
||||||
|
this.configSection = configSection;
|
||||||
|
this.clazz = clazz;
|
||||||
|
this.defaultValue = defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileConfiguration getConfiguration() {
|
||||||
|
return this.source.getConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ArrayList<V> get() {
|
||||||
|
List<?> list = getConfiguration().getList(this.configSection);
|
||||||
|
if (list == null) {
|
||||||
|
if (defaultValue != null) {
|
||||||
|
return new ArrayList<>(Arrays.asList(defaultValue));
|
||||||
|
} else {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ArrayList<V> result = new ArrayList<>();
|
||||||
|
|
||||||
|
for (Object object : list) {
|
||||||
|
if (this.clazz.isInstance(object)) {
|
||||||
|
result.add(this.clazz.cast(object));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set(ArrayList<V> value) {
|
||||||
|
getConfiguration().set(this.configSection, value);
|
||||||
|
this.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save() {
|
||||||
|
this.source.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.manager;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.Main;
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.PluginConfig;
|
||||||
|
import cc.carm.plugin.moeteleport.configuration.file.FileConfig;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class ConfigManager {
|
||||||
|
|
||||||
|
private static FileConfig config;
|
||||||
|
private static FileConfig messageConfig;
|
||||||
|
|
||||||
|
private static HashMap<String, Integer> permissionsMap;
|
||||||
|
|
||||||
|
public static void initConfig() {
|
||||||
|
ConfigManager.config = new FileConfig(Main.getInstance(), "config.yml");
|
||||||
|
ConfigManager.messageConfig = new FileConfig(Main.getInstance(), "messages.yml");
|
||||||
|
permissionsMap = loadPermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static FileConfig getPluginConfig() {
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static FileConfig getMessageConfig() {
|
||||||
|
return messageConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HashMap<String, Integer> getPermissions() {
|
||||||
|
return permissionsMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HashMap<String, Integer> loadPermissions() {
|
||||||
|
FileConfiguration config = getPluginConfig().getConfig();
|
||||||
|
ConfigurationSection section = config.getConfigurationSection("permissions");
|
||||||
|
if (section == null) return new HashMap<>();
|
||||||
|
Set<String> permissionNodes = section.getKeys(false);
|
||||||
|
if (permissionNodes.isEmpty()) return new HashMap<>();
|
||||||
|
return permissionNodes.stream()
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
s -> s, s -> section.getInt(s, PluginConfig.DEFAULT_HOME.get()),
|
||||||
|
(a, b) -> b, HashMap::new
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void reload() {
|
||||||
|
getPluginConfig().reload();
|
||||||
|
getMessageConfig().reload();
|
||||||
|
permissionsMap = loadPermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void saveConfig() {
|
||||||
|
getPluginConfig().save();
|
||||||
|
getMessageConfig().save();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.manager;
|
||||||
|
|
||||||
|
public class UserManager {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.user;
|
||||||
|
|
||||||
|
public class UserData {
|
||||||
|
}
|
@ -10,41 +10,3 @@ permissions:
|
|||||||
|
|
||||||
# 传送请求过期时间
|
# 传送请求过期时间
|
||||||
expireTime: 30
|
expireTime: 30
|
||||||
|
|
||||||
messages:
|
|
||||||
no-last-location:
|
|
||||||
- "&f您当前没有进行传送,无法返回上个地点。"
|
|
||||||
tpa:
|
|
||||||
- "&6%(player) &f请求传送到您身边,您有30秒的时间处理。"
|
|
||||||
- "&a&l[同意] &f输入 &e/tpaccept &f同意该请求。"
|
|
||||||
- "&c&l[拒绝] &f输入 &e/tpadeny &f拒绝该请求。"
|
|
||||||
tpahere:
|
|
||||||
- "&6%(player) &f请求传送您到Ta身边,您有30秒的时间处理。"
|
|
||||||
- "&a&l[同意] &f输入 &e/tpaccept &f同意该请求。"
|
|
||||||
- "&c&l[拒绝] &f输入 &e/tpadeny &f拒绝该请求。"
|
|
||||||
tpaccept:
|
|
||||||
- "&f您同意了 &6%(player) &f的传送请求。"
|
|
||||||
tpadeny:
|
|
||||||
- "&f您&c拒绝&f了 &6%(player) &f的传送请求。"
|
|
||||||
accepted:
|
|
||||||
- "&6%(player) &f同意了您的传送请求。"
|
|
||||||
denied:
|
|
||||||
- "&6%(player) &c拒绝&f了您的传送请求。"
|
|
||||||
|
|
||||||
no-request:
|
|
||||||
- "&f您当前没有任何待处理的传送请求。"
|
|
||||||
no-request-player:
|
|
||||||
- "&f您当前没有收到来自 &6%(player) &f的传送请求。"
|
|
||||||
multi-requests:
|
|
||||||
- "&f您当前有条请求待处理,请输入 &6%(command) <玩家名> &f决定处理谁的请求。"
|
|
||||||
- "&f您也可以再次输入 &6%(command) &f直接处理最近的一条请求。"
|
|
||||||
request-timeout:
|
|
||||||
- "&f来自 &6%(player) &f的传送请求已超时。"
|
|
||||||
teleporting:
|
|
||||||
- "&f正在传送到 &6&(location) &f..."
|
|
||||||
dangerous:
|
|
||||||
- "&f目标地点不安全,传送被取消。若您执意传送可再次输入 &6/tpaccept &f。"
|
|
||||||
|
|
||||||
home-list-header:
|
|
||||||
- "&f您当前设定的所有家:"
|
|
||||||
home-list-object: "&8#&f%(id) &6(location)"
|
|
36
src/main/resources/messages.yml
Normal file
36
src/main/resources/messages.yml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
no-last-location:
|
||||||
|
- "&f您当前没有进行传送,无法返回上个地点。"
|
||||||
|
tpa:
|
||||||
|
- "&6%(player) &f请求传送到您身边,您有30秒的时间处理。"
|
||||||
|
- "&a&l[同意] &f输入 &e/tpaccept &f同意该请求。"
|
||||||
|
- "&c&l[拒绝] &f输入 &e/tpadeny &f拒绝该请求。"
|
||||||
|
tpahere:
|
||||||
|
- "&6%(player) &f请求传送您到Ta身边,您有30秒的时间处理。"
|
||||||
|
- "&a&l[同意] &f输入 &e/tpaccept &f同意该请求。"
|
||||||
|
- "&c&l[拒绝] &f输入 &e/tpadeny &f拒绝该请求。"
|
||||||
|
tpaccept:
|
||||||
|
- "&f您同意了 &6%(player) &f的传送请求。"
|
||||||
|
tpadeny:
|
||||||
|
- "&f您&c拒绝&f了 &6%(player) &f的传送请求。"
|
||||||
|
accepted:
|
||||||
|
- "&6%(player) &f同意了您的传送请求。"
|
||||||
|
denied:
|
||||||
|
- "&6%(player) &c拒绝&f了您的传送请求。"
|
||||||
|
|
||||||
|
no-request:
|
||||||
|
- "&f您当前没有任何待处理的传送请求。"
|
||||||
|
no-request-player:
|
||||||
|
- "&f您当前没有收到来自 &6%(player) &f的传送请求。"
|
||||||
|
multi-requests:
|
||||||
|
- "&f您当前有条请求待处理,请输入 &6%(command) <玩家名> &f决定处理谁的请求。"
|
||||||
|
- "&f您也可以再次输入 &6%(command) &f直接处理最近的一条请求。"
|
||||||
|
request-timeout:
|
||||||
|
- "&f来自 &6%(player) &f的传送请求已超时。"
|
||||||
|
teleporting:
|
||||||
|
- "&f正在传送到 &6&(location) &f..."
|
||||||
|
dangerous:
|
||||||
|
- "&f目标地点不安全,传送被取消。若您执意传送可再次输入 &6/tpaccept &f。"
|
||||||
|
|
||||||
|
home-list-header:
|
||||||
|
- "&f您当前设定的所有家:"
|
||||||
|
home-list-object: "&8#&f%(id) &6(location)"
|
Loading…
Reference in New Issue
Block a user