更新
This commit is contained in:
@@ -20,58 +20,29 @@ public class Language2 {
|
||||
|
||||
@Getter
|
||||
private FileConfiguration configuration;
|
||||
|
||||
@Getter
|
||||
private File languageFile;
|
||||
|
||||
@Getter
|
||||
private File languageFolder;
|
||||
|
||||
@Getter
|
||||
private Plugin plugin;
|
||||
|
||||
@Getter
|
||||
private String languageName;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
*
|
||||
* @param plugin 插件
|
||||
*/
|
||||
public Language2(Plugin plugin) {
|
||||
this("zh_CN", plugin);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
*
|
||||
* @param languageName 语言文件
|
||||
* @param plugin 插件
|
||||
*/
|
||||
public Language2(String languageName, Plugin plugin) {
|
||||
this.languageName = languageName;
|
||||
this.plugin = plugin;
|
||||
// 重载语言文件
|
||||
reload(languageName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取语言文件
|
||||
*
|
||||
* @param key 键
|
||||
* @return {@link Language2Value}
|
||||
*/
|
||||
public Language2Value get(String key) {
|
||||
return new Language2Value(this, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取语言文件
|
||||
*
|
||||
* @param key 键
|
||||
* @param placeholder 替换变量,从 @$0 开始
|
||||
* @return {@link Language2Value}
|
||||
*/
|
||||
public Language2Value get(String key, String... placeholder) {
|
||||
Language2Value value = new Language2Value(this, key);
|
||||
for (int i = 0 ; i < placeholder.length ; i++) {
|
||||
@@ -80,52 +51,27 @@ public class Language2 {
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重载语言文件
|
||||
*/
|
||||
public void reload() {
|
||||
reload(this.languageName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重载语言文件
|
||||
*
|
||||
* @param languageName 新语言文件名称
|
||||
*/
|
||||
public void reload(String languageName) {
|
||||
// 初始化文件夹
|
||||
createFolder(plugin);
|
||||
// 格式化配置名
|
||||
languageName = formatName(languageName);
|
||||
// 获取文件
|
||||
languageFile = new File(languageFolder, languageName);
|
||||
// 文件不存在
|
||||
if (!languageFile.exists()) {
|
||||
// 如果语言文件不存在
|
||||
if (plugin.getResource("Language2/" + languageName) == null) {
|
||||
try {
|
||||
throw new FileNotFoundException("语言文件 " + languageName + " 不存在");
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
else {
|
||||
// 释放资源
|
||||
} else {
|
||||
plugin.saveResource("Language2/" + languageName, true);
|
||||
}
|
||||
}
|
||||
// 载入配置
|
||||
configuration = ConfigUtils.load(plugin, languageFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* PlaceholderAPI 变量识别
|
||||
*
|
||||
* @param player 玩家
|
||||
* @param string 文本
|
||||
* @return String
|
||||
*/
|
||||
public String setPlaceholderAPI(Player player, String string) {
|
||||
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null && player != null) {
|
||||
return PlaceholderAPI.setPlaceholders(player, string);
|
||||
@@ -133,21 +79,10 @@ public class Language2 {
|
||||
return string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 语言文件名称格式化
|
||||
*
|
||||
* @param name 语言文件名称
|
||||
* @return String
|
||||
*/
|
||||
private String formatName(String name) {
|
||||
return name.contains(".yml") ? name : name + ".yml";
|
||||
}
|
||||
|
||||
/**
|
||||
* 语言文件夹初始化
|
||||
*
|
||||
* @param plugin
|
||||
*/
|
||||
private void createFolder(Plugin plugin) {
|
||||
languageFolder = new File(plugin.getDataFolder(), "Language2");
|
||||
if (!languageFolder.exists()) {
|
||||
|
||||
@@ -67,6 +67,7 @@ public class Language2Action implements Language2Line {
|
||||
*
|
||||
* @param player 玩家
|
||||
*/
|
||||
@Override
|
||||
public void send(Player player) {
|
||||
// 检查版本
|
||||
if (TabooLib.getVerint() < 10800) {
|
||||
|
||||
@@ -129,6 +129,7 @@ public class Language2Json implements Language2Line {
|
||||
*
|
||||
* @param player 玩家
|
||||
*/
|
||||
@Override
|
||||
public void send(Player player) {
|
||||
json.send(player);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user