配置文件修改
This commit is contained in:
parent
44691d0ae6
commit
b79a462a1d
|
@ -28,8 +28,9 @@ public final class BungeeCross extends Plugin {
|
|||
// 注册指令
|
||||
getProxy().getPluginManager().registerCommand(this, new PluginInfoCommand("bungeecross"));
|
||||
getProxy().getPluginManager().registerCommand(this, new ProxyServerListCommand("server-list"));
|
||||
getProxy().getPluginManager().registerCommand(this, new ReturnHubCommand("hub", this));
|
||||
getProxy().getPluginManager().registerCommand(this, new ReturnHubCommand("lobby", this));
|
||||
getProxy().getPluginManager().registerCommand(this, new SendToServerCommand("serverTo", this));
|
||||
getProxy().getPluginManager().registerCommand(this, new SendToServerCommand("sto", this));
|
||||
// 注册监听器
|
||||
getProxy().getPluginManager().registerListener(this, new PlayerJoinProxyEvent());
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.frontleaves.bungeecross.configuration;
|
|||
|
||||
import com.frontleaves.bungeecross.BungeeCross;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
|
@ -26,8 +27,18 @@ public class ServerEnable {
|
|||
*/
|
||||
public void serverStart() {
|
||||
this.getConfig();
|
||||
this.getLang();
|
||||
this.getProxyServer();
|
||||
|
||||
System.out.println(VariableStorage.getPrefix() + "§c配置文件加载完毕");
|
||||
System.out.println("§9§l§m=]=======§2 Bungee§aCross §9§l§m========[=");
|
||||
System.out.println("§6作者:§e" + BungeeCross.getAUTHOR());
|
||||
System.out.println("§9版本:§d" + BungeeCross.getVERSION());
|
||||
System.out.println("§9§l§m=]=======§2 Bungee§aCross §9§l§m========[=");
|
||||
}
|
||||
|
||||
private void getLang() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -43,7 +54,7 @@ public class ServerEnable {
|
|||
}
|
||||
File configFile = new File(plugin.getDataFolder(), "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
saveDefaultConfig(configFile);
|
||||
saveDefaultConfigYmlFile(configFile);
|
||||
plugin.getLogger().info("配置文件创建成功");
|
||||
}
|
||||
}
|
||||
|
@ -64,24 +75,96 @@ public class ServerEnable {
|
|||
}
|
||||
|
||||
// 读取配置文件
|
||||
if (config.getString("server_prefix") != null && !config.getString("server_prefix").isEmpty()) {
|
||||
VariableStorage.setPrefix(config.getString("server_prefix"));
|
||||
if (config.getString("bungee-cord.server-prefix") != null && !config.getString("bungee-cord.server-prefix").isEmpty()) {
|
||||
VariableStorage.setPrefix(config.getString("bungee-cord.server-prefix"));
|
||||
} else {
|
||||
VariableStorage.setPrefix("§7[§2Bungee§aCross§7] §r");
|
||||
}
|
||||
// 读取登录服务器
|
||||
if (config.getList("server_login").isEmpty()) {
|
||||
if (config.getList("bungee-cord.server-login").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
} else {
|
||||
VariableStorage.setLoginServer(config.getList("server_login"));
|
||||
VariableStorage.setLoginServer(config.getList("bungee-cord.server-login"));
|
||||
}
|
||||
// 读取大厅服务器
|
||||
if (config.getList("server_lobby").isEmpty()) {
|
||||
if (config.getList("bungee-cord.server-lobby").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
} else {
|
||||
VariableStorage.setLobbyServer(config.getList("server_login"));
|
||||
VariableStorage.setLobbyServer(config.getList("bungee-cord.server-login"));
|
||||
}
|
||||
// 获取登陆提醒
|
||||
if (config.getString("bungee-cord.login-reminder") != null && !config.getString("bungee-cord.login-reminder").isEmpty()) {
|
||||
VariableStorage.setBungeeCordReminder(config.getBoolean("bungee-cord.login-reminder"));
|
||||
if (config.getString("bungee-cord.join-message") != null && !config.getString("bungee-cord.join-message").isEmpty()) {
|
||||
VariableStorage.setJoinMessage(config.getString("bungee-cord.join-message"));
|
||||
} else {
|
||||
VariableStorage.setJoinMessage("§7[§a+§7] §6%player%");
|
||||
}
|
||||
if (config.getString("bungee-cord.leave-message") != null && !config.getString("bungee-cord.leave-message").isEmpty()) {
|
||||
VariableStorage.setLeaveMessage(config.getString("bungee-cord.leave-message"));
|
||||
} else {
|
||||
VariableStorage.setLeaveMessage("§7[§c-§7] §6%player%");
|
||||
}
|
||||
} else {
|
||||
config.set("bungee-cord.login-reminder", true);
|
||||
VariableStorage.setBungeeCordReminder(true);
|
||||
}
|
||||
// 是否开启管理员静默登录
|
||||
if (config.getString("bungee-cord.login-silent") != null && !config.getString("bungee-cord.login-silent").isEmpty()) {
|
||||
VariableStorage.setBungeeSilent(config.getBoolean("bungee-cord.login-silent"));
|
||||
} else {
|
||||
config.set("bungee-cord.login-silent", true);
|
||||
VariableStorage.setBungeeSilent(true);
|
||||
}
|
||||
|
||||
// 获取服务器列表
|
||||
|
||||
plugin.getProxy().getServers().forEach((string, serverInfo) -> {
|
||||
if (config.getSection("server").getKeys().contains(string)) {
|
||||
if (config.getString("server." + string + ".display-name") == null && config.getString("server." + string + ".display-name").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
}
|
||||
if (config.getString("server." + string + ".bungee-join-server-reminder") == null && config.getString("server." + string + ".bungee-join-server-reminder").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
}
|
||||
if (config.getString("server." + string + ".join-server-inform.join-enable") == null && config.getString("server." + string + ".join-server-inform.join-enable").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
}
|
||||
if (config.getString("server." + string + ".join-server-inform.leave-enable") == null && config.getString("server." + string + ".join-server-inform.leave-enable").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
}
|
||||
if (config.getString("server." + string + ".join-server-inform.join-message") == null && config.getString("server." + string + ".join-server-inform.join-message").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
return;
|
||||
}
|
||||
if (config.getString("server." + string + ".join-server-inform.leave-message") == null && config.getString("server." + string + ".join-server-inform.leave-message").isEmpty()) {
|
||||
this.reloadTheDefaultConfig(configFile);
|
||||
}
|
||||
} else {
|
||||
config.set("server." + serverInfo.getName() + ".display-name", serverInfo.getName());
|
||||
config.set("server." + serverInfo.getName() + ".bungee-join-server-reminder", true);
|
||||
config.set("server." + serverInfo.getName() + ".join-server-inform.join-enable", true);
|
||||
config.set("server." + serverInfo.getName() + ".join-server-inform.leave-enable", true);
|
||||
config.set("server." + serverInfo.getName() + ".join-server-inform.join-message", "[+] %player% 加入到 %server_display% 服务器");
|
||||
config.set("server." + serverInfo.getName() + ".join-server-inform.leave-message", "[-] %player% 加入到 %server_display% 服务器");
|
||||
}
|
||||
});
|
||||
try {
|
||||
ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, configFile);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkServerNameCorrect(String serverName) {
|
||||
ServerInfo serverInfo = plugin.getProxy().getServerInfo(serverName);
|
||||
return serverInfo != null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -96,7 +179,7 @@ public class ServerEnable {
|
|||
*
|
||||
* @param configFile File
|
||||
*/
|
||||
private void saveDefaultConfig(@NotNull File configFile) {
|
||||
private void saveDefaultConfigYmlFile(@NotNull File configFile) {
|
||||
// 将默认配置文件从资源中复制到插件目录
|
||||
try (InputStream inputStream = plugin.getResourceAsStream("config.yml")) {
|
||||
Files.copy(inputStream, configFile.toPath());
|
||||
|
@ -105,6 +188,15 @@ public class ServerEnable {
|
|||
}
|
||||
}
|
||||
|
||||
private void saveDefaultLangYmlFile(@NotNull File langFile) {
|
||||
// 将默认配置文件从资源中复制到插件目录
|
||||
try (InputStream inputStream = plugin.getResourceAsStream("lang.yml")) {
|
||||
Files.copy(inputStream, langFile.toPath());
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新载入新的配置文件
|
||||
*
|
||||
|
@ -112,10 +204,13 @@ public class ServerEnable {
|
|||
*/
|
||||
private void reloadTheDefaultConfig(@NotNull File configFile) {
|
||||
File newConfigFile = new File(plugin.getDataFolder(), "config.old.yml");
|
||||
if (newConfigFile.exists()) {
|
||||
newConfigFile.delete();
|
||||
}
|
||||
try {
|
||||
Files.copy(configFile.toPath(), newConfigFile.toPath());
|
||||
if (configFile.delete()) {
|
||||
this.saveDefaultConfig(configFile);
|
||||
this.saveDefaultConfigYmlFile(configFile);
|
||||
plugin.getLogger().warning("配置文件错误,已重新生成新的文件");
|
||||
plugin.getLogger().info("旧配置文件已生成 config.old.yml");
|
||||
}
|
||||
|
|
|
@ -1,15 +1,59 @@
|
|||
# BungeeCross
|
||||
# ##################################
|
||||
# PluginName: BungeeCross
|
||||
# Author: 筱锋xiao_lfeng
|
||||
# Version: v1.0-SNAPSHOT
|
||||
# ##################################
|
||||
|
||||
# 显示前缀
|
||||
server_prefix: "§7[§2Bungee§aCross§7] §r"
|
||||
# ##################################
|
||||
# 插件配置
|
||||
# ##################################
|
||||
|
||||
# 授权码
|
||||
authorization-code: #请勿填写
|
||||
|
||||
# ##################################
|
||||
# BungeeCord 服务端配置
|
||||
# ##################################
|
||||
bungee-cord:
|
||||
# 前缀配置
|
||||
server-prefix: "§7[§2Bungee§aCross§7] §r"
|
||||
# 登录服务器列表
|
||||
server_login:
|
||||
server-login:
|
||||
- login_1
|
||||
- login_2
|
||||
|
||||
# 大厅服务器列表
|
||||
server_lobby:
|
||||
server-lobby:
|
||||
- 登陆大厅
|
||||
# 是否开启登陆提醒
|
||||
login-reminder: true
|
||||
# 加入提醒
|
||||
join-message: "[+] %player%"
|
||||
# 离开提醒
|
||||
leave-message: "[-] %player%"
|
||||
# 是否开启有权限的人静默登录
|
||||
login-silent: true
|
||||
|
||||
# ##################################
|
||||
# Server 子服务端配置
|
||||
# ##################################
|
||||
server:
|
||||
login_1:
|
||||
# 展示名字
|
||||
display-name: "登录一服"
|
||||
# 是否允许 BungeeCord 登录提醒
|
||||
bungee-join-server-reminder: false
|
||||
join-server-inform:
|
||||
join-enable: true
|
||||
leave-enable: true
|
||||
join-message: "[+] %player% 加入到 %server_display% 服务器"
|
||||
leave-message: "[-] %player% 离开了 %server_display% 服务器"
|
||||
login_2:
|
||||
# 展示名字
|
||||
display-name: "登录二服"
|
||||
# 是否允许 BungeeCord 登录提醒
|
||||
bungee-join-server-reminder: false
|
||||
join-server-inform:
|
||||
join-enable: true
|
||||
leave-enable: true
|
||||
join-message: "[+] %player% 加入到 %server_display% 服务器"
|
||||
leave-message: "[-] %player% 离开了 %server_display% 服务器"
|
0
src/main/resources/lang.yml
Normal file
0
src/main/resources/lang.yml
Normal file
Loading…
Reference in New Issue
Block a user