mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-12-25 10:07:35 +01:00
Messages can now be customized more easily
This commit is contained in:
parent
7002484174
commit
253b54da1d
@ -141,7 +141,7 @@ public class AdminCommand implements CommandExecutor {
|
|||||||
}
|
}
|
||||||
YamlConfiguration newConfig = YamlConfiguration.loadConfiguration(newConfigFile);
|
YamlConfiguration newConfig = YamlConfiguration.loadConfiguration(newConfigFile);
|
||||||
Settings.reloadConfigOptions(newConfig);
|
Settings.reloadConfigOptions(newConfig);
|
||||||
m.reLoad();
|
m.reloadMessages();
|
||||||
plugin.database.close();
|
plugin.database.close();
|
||||||
plugin.setupDatabase();
|
plugin.setupDatabase();
|
||||||
m.send(sender, "reload");
|
m.send(sender, "reload");
|
||||||
|
@ -428,17 +428,17 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Settings.isKickNonRegisteredEnabled && !Settings.antiBotInAction){
|
if (Settings.isKickNonRegisteredEnabled && !Settings.antiBotInAction) {
|
||||||
if (!plugin.database.isAuthAvailable(name)) {
|
if (!plugin.database.isAuthAvailable(name)) {
|
||||||
event.setKickMessage(m.send("reg_only")[0]);
|
event.setKickMessage(m.send("reg_only")[0]);
|
||||||
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Settings.antiBotInAction){
|
if (Settings.antiBotInAction) {
|
||||||
if (!plugin.database.isAuthAvailable(name)) {
|
if (!plugin.database.isAuthAvailable(name)) {
|
||||||
event.setKickMessage("AntiBot service in action! Non registered players can't connect until the bot attack stops!"); //Need to add string to messages
|
event.setKickMessage("AntiBot service in action! You actually need to be registered!");
|
||||||
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -658,31 +658,40 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onPlayerInventoryOpen(InventoryOpenEvent event) {
|
public void onPlayerInventoryOpen(InventoryOpenEvent event) {
|
||||||
if (event.getPlayer() == null)
|
if (event.getPlayer() == null)
|
||||||
return;
|
return;
|
||||||
Player player = (Player) event.getPlayer();
|
final Player player = (Player) event.getPlayer();
|
||||||
String name = player.getName().toLowerCase();
|
String name = player.getName().toLowerCase();
|
||||||
|
|
||||||
if (Utils.getInstance().isUnrestricted(player)) {
|
if (Utils.getInstance().isUnrestricted(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin.getCitizensCommunicator().isNPC(player))
|
if (plugin.getCitizensCommunicator().isNPC(player))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) {
|
if (PlayerCache.getInstance().isAuthenticated(player.getName().toLowerCase())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!plugin.database.isAuthAvailable(name)) {
|
if (!plugin.database.isAuthAvailable(name)) {
|
||||||
if (!Settings.isForcedRegistrationEnabled) {
|
if (!Settings.isForcedRegistrationEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.closeInventory();
|
|
||||||
|
/*
|
||||||
|
* @note little hack cause InventoryOpenEvent cannot be cancelled for
|
||||||
|
* real, cause no packet is send to server by client for the main inv
|
||||||
|
*/
|
||||||
|
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
||||||
|
@ -12,13 +12,15 @@ import fr.xephi.authme.ConsoleLogger;
|
|||||||
public class Messages extends CustomConfiguration {
|
public class Messages extends CustomConfiguration {
|
||||||
|
|
||||||
private static Messages singleton = null;
|
private static Messages singleton = null;
|
||||||
|
private String lang = "en";
|
||||||
|
|
||||||
public Messages(File file) {
|
public Messages(File file, String lang) {
|
||||||
super(file);
|
super(file);
|
||||||
loadDefaults(file);
|
loadDefaults(file);
|
||||||
loadFile();
|
loadFile();
|
||||||
saveDefaults(file);
|
saveDefaults(file);
|
||||||
singleton = this;
|
singleton = this;
|
||||||
|
this.lang = lang;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -32,7 +34,7 @@ public class Messages extends CustomConfiguration {
|
|||||||
InputStream stream = AuthMe.getInstance().getResource(file.getName());
|
InputStream stream = AuthMe.getInstance().getResource(file.getName());
|
||||||
if (stream == null)
|
if (stream == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
setDefaults(YamlConfiguration.loadConfiguration(stream));
|
setDefaults(YamlConfiguration.loadConfiguration(stream));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,12 +69,14 @@ public class Messages extends CustomConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadFile() {
|
private void loadFile() {
|
||||||
this.load();
|
load();
|
||||||
this.save();
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void send(CommandSender sender, String msg) {
|
public void send(CommandSender sender, String msg) {
|
||||||
String loc = (String) this.get(msg);
|
if (!Settings.messagesLanguage.equalsIgnoreCase(singleton.lang))
|
||||||
|
singleton.reloadMessages();
|
||||||
|
String loc = (String) singleton.get(msg);
|
||||||
if (loc == null) {
|
if (loc == null) {
|
||||||
loc = "Error with Translation files, please contact the admin for verify or update translation";
|
loc = "Error with Translation files, please contact the admin for verify or update translation";
|
||||||
ConsoleLogger.showError("Error with the " + msg + " translation, verify in your " + Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml !");
|
ConsoleLogger.showError("Error with the " + msg + " translation, verify in your " + Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml !");
|
||||||
@ -83,13 +87,14 @@ public class Messages extends CustomConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String[] send(String msg) {
|
public String[] send(String msg) {
|
||||||
|
if (!Settings.messagesLanguage.equalsIgnoreCase(singleton.lang))
|
||||||
|
singleton.reloadMessages();
|
||||||
String s = null;
|
String s = null;
|
||||||
try {
|
try {
|
||||||
s = (String) this.get(msg);
|
s = (String) singleton.get(msg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
if (s == null)
|
if (s == null) {
|
||||||
{
|
|
||||||
ConsoleLogger.showError("Error with the " + msg + " translation, verify in your " + Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml !");
|
ConsoleLogger.showError("Error with the " + msg + " translation, verify in your " + Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml !");
|
||||||
String[] loc = new String[1];
|
String[] loc = new String[1];
|
||||||
loc[0] = "Error with " + msg + " translation; Please contact the admin for verify or update translation files";
|
loc[0] = "Error with " + msg + " translation; Please contact the admin for verify or update translation files";
|
||||||
@ -109,9 +114,13 @@ public class Messages extends CustomConfiguration {
|
|||||||
|
|
||||||
public static Messages getInstance() {
|
public static Messages getInstance() {
|
||||||
if (singleton == null) {
|
if (singleton == null) {
|
||||||
singleton = new Messages(new File(Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml"));
|
singleton = new Messages(new File(Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml"), Settings.messagesLanguage);
|
||||||
}
|
}
|
||||||
return singleton;
|
return singleton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reloadMessages() {
|
||||||
|
singleton = new Messages(new File(Settings.MESSAGE_FILE + "_" + Settings.messagesLanguage + ".yml"), Settings.messagesLanguage);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,8 +22,8 @@ import fr.xephi.authme.security.HashAlgorithm;
|
|||||||
|
|
||||||
public final class Settings extends YamlConfiguration {
|
public final class Settings extends YamlConfiguration {
|
||||||
|
|
||||||
//This is not an option!
|
// This is not an option!
|
||||||
public static Boolean antiBotInAction = false;
|
public static Boolean antiBotInAction = false;
|
||||||
|
|
||||||
public static String PLUGIN_FOLDER = "." + File.separator + "plugins" + File.separator + "AuthMe";
|
public static String PLUGIN_FOLDER = "." + File.separator + "plugins" + File.separator + "AuthMe";
|
||||||
public static final String CACHE_FOLDER = Settings.PLUGIN_FOLDER + File.separator + "cache";
|
public static final String CACHE_FOLDER = Settings.PLUGIN_FOLDER + File.separator + "cache";
|
||||||
@ -62,17 +62,17 @@ public final class Settings extends YamlConfiguration {
|
|||||||
isResetInventoryIfCreative, isCachingEnabled,
|
isResetInventoryIfCreative, isCachingEnabled,
|
||||||
isKickOnWrongPasswordEnabled, getEnablePasswordVerifier,
|
isKickOnWrongPasswordEnabled, getEnablePasswordVerifier,
|
||||||
protectInventoryBeforeLogInEnabled, isBackupActivated,
|
protectInventoryBeforeLogInEnabled, isBackupActivated,
|
||||||
isBackupOnStart, isBackupOnStop, isStopEnabled,
|
isBackupOnStart, isBackupOnStop, isStopEnabled, reloadSupport,
|
||||||
reloadSupport, rakamakUseIp, noConsoleSpam, removePassword,
|
rakamakUseIp, noConsoleSpam, removePassword, displayOtherAccounts,
|
||||||
displayOtherAccounts, useCaptcha, emailRegistration, multiverse,
|
useCaptcha, emailRegistration, multiverse, chestshop, bungee,
|
||||||
chestshop, bungee, banUnsafeIp, doubleEmailCheck,
|
banUnsafeIp, doubleEmailCheck, sessionExpireOnIpChange,
|
||||||
sessionExpireOnIpChange, disableSocialSpy, forceOnlyAfterLogin,
|
disableSocialSpy, forceOnlyAfterLogin, useEssentialsMotd, usePurge,
|
||||||
useEssentialsMotd, usePurge, purgePlayerDat, purgeEssentialsFile,
|
purgePlayerDat, purgeEssentialsFile, supportOldPassword,
|
||||||
supportOldPassword, purgeLimitedCreative, purgeAntiXray,
|
purgeLimitedCreative, purgeAntiXray, purgePermissions,
|
||||||
purgePermissions, enableProtection, enableAntiBot, recallEmail,
|
enableProtection, enableAntiBot, recallEmail, useWelcomeMessage,
|
||||||
useWelcomeMessage, broadcastWelcomeMessage, forceRegKick,
|
broadcastWelcomeMessage, forceRegKick, forceRegLogin,
|
||||||
forceRegLogin, checkVeryGames, delayJoinMessage, noTeleport,
|
checkVeryGames, delayJoinMessage, noTeleport, applyBlindEffect,
|
||||||
applyBlindEffect, customAttributes, generateImage;
|
customAttributes, generateImage;
|
||||||
|
|
||||||
public static String getNickRegex, getUnloggedinGroup, getMySQLHost,
|
public static String getNickRegex, getUnloggedinGroup, getMySQLHost,
|
||||||
getMySQLPort, getMySQLUsername, getMySQLPassword, getMySQLDatabase,
|
getMySQLPort, getMySQLUsername, getMySQLPassword, getMySQLDatabase,
|
||||||
@ -127,7 +127,7 @@ public final class Settings extends YamlConfiguration {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static void loadVariables() {
|
public static void loadVariables() {
|
||||||
messagesLanguage = checkLang(configFile.getString("settings.messagesLanguage", "en"));
|
messagesLanguage = checkLang(configFile.getString("settings.messagesLanguage", "en").toLowerCase());
|
||||||
isPermissionCheckEnabled = configFile.getBoolean("permission.EnablePermissionCheck", false);
|
isPermissionCheckEnabled = configFile.getBoolean("permission.EnablePermissionCheck", false);
|
||||||
isForcedRegistrationEnabled = configFile.getBoolean("settings.registration.force", true);
|
isForcedRegistrationEnabled = configFile.getBoolean("settings.registration.force", true);
|
||||||
isRegistrationEnabled = configFile.getBoolean("settings.registration.enabled", true);
|
isRegistrationEnabled = configFile.getBoolean("settings.registration.enabled", true);
|
||||||
@ -603,22 +603,20 @@ public final class Settings extends YamlConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String checkLang(String lang) {
|
public static String checkLang(String lang) {
|
||||||
for (messagesLang language : messagesLang.values()) {
|
if (new File(MESSAGE_FILE + "_" + lang + ".yml").exists()) {
|
||||||
if (lang.toLowerCase().contains(language.toString())) {
|
ConsoleLogger.info("Set Language to: " + lang);
|
||||||
ConsoleLogger.info("Set Language: " + lang);
|
return lang;
|
||||||
return lang;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ConsoleLogger.info("Set Default Language: En ");
|
ConsoleLogger.info("Language file not found for " + lang + ", set to default language: en !");
|
||||||
return "en";
|
return "en";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void switchAntiBotMod(boolean mode) {
|
public static void switchAntiBotMod(boolean mode) {
|
||||||
if (mode){
|
if (mode) {
|
||||||
isKickNonRegisteredEnabled = true;
|
isKickNonRegisteredEnabled = true;
|
||||||
antiBotInAction = true;
|
antiBotInAction = true;
|
||||||
}else{
|
} else {
|
||||||
isKickNonRegisteredEnabled = configFile.getBoolean("settings.restrictions.kickNonRegistered", false);
|
isKickNonRegisteredEnabled = configFile.getBoolean("settings.restrictions.kickNonRegistered", false);
|
||||||
antiBotInAction = false;
|
antiBotInAction = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -684,31 +682,4 @@ public final class Settings extends YamlConfiguration {
|
|||||||
}
|
}
|
||||||
return correct;
|
return correct;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum messagesLang {
|
|
||||||
en,
|
|
||||||
de,
|
|
||||||
br,
|
|
||||||
cz,
|
|
||||||
pl,
|
|
||||||
fr,
|
|
||||||
uk,
|
|
||||||
ru,
|
|
||||||
hu,
|
|
||||||
sk,
|
|
||||||
es,
|
|
||||||
fi,
|
|
||||||
zhtw,
|
|
||||||
zhhk,
|
|
||||||
zhcn,
|
|
||||||
lt,
|
|
||||||
it,
|
|
||||||
ko,
|
|
||||||
pt,
|
|
||||||
nl,
|
|
||||||
gl,
|
|
||||||
bg,
|
|
||||||
eu,
|
|
||||||
tr
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
59
src/main/resources/messages_vn.yml
Normal file
59
src/main/resources/messages_vn.yml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
unknown_user: '&fNgười chơi không tồn tại trong cơ sở dữ liệu'
|
||||||
|
unsafe_spawn: '&fNơi thoát server của bạn không an toàn, đang dịch chuyển bạn tới điểm spawn của server'
|
||||||
|
not_logged_in: '&cChưa đăng nhập!'
|
||||||
|
reg_voluntarily: '&fBạn có thể đăng kí tài khoản với lệnh
|
||||||
|
"/register mật-khẩu nhập-lại-mật-khẩu"'
|
||||||
|
usage_log: '&eSử dụng: /login password'
|
||||||
|
wrong_pwd: '&cSai mật khẩu'
|
||||||
|
unregistered: '&cHuỷ đăng kí thành công!'
|
||||||
|
reg_disabled: '&cHệ thống đăng kí đã bị vô hiệu'
|
||||||
|
valid_session: '&cPhiên đăng nhập còn tồn tại, bạn không cần nhập mật khẩu'
|
||||||
|
login: '&cĐăng nhập thành công!'
|
||||||
|
vb_nonActiv: '&fTài khoản của bạn chưa được kích hoạt, kiểm tra email!'
|
||||||
|
user_regged: '&cTên đăng nhập này đã được đăng kí'
|
||||||
|
usage_reg: '&eSử dụng: /register mật-khẩu nhập-lại-mật-khẩu'
|
||||||
|
max_reg: '&fSố lượng tài khoản ở IP của bạn trong server này đã quá giới hạn cho phép'
|
||||||
|
no_perm: '&cKhông có quyền'
|
||||||
|
error: '&fCó lỗi xảy ra; Báo lại cho người điều hành server'
|
||||||
|
login_msg: '&cĐăng nhập với lệnh "/login mật-khẩu"'
|
||||||
|
reg_msg: '&cĐăng kí tài khoản với lệnh "/register mật-khẩu nhập-lại-mật-khẩu"'
|
||||||
|
reg_email_msg: '&cĐăng kí email cho tài khoản với lệnh "/register <email> <nhập-lại-email>"'
|
||||||
|
usage_unreg: '&eSử dụng: /unregister mật-khẩu'
|
||||||
|
pwd_changed: '&cĐã đổi mật khẩu!'
|
||||||
|
user_unknown: '&cTài khoản này chưa được đăng kí'
|
||||||
|
password_error: '&fMật khẩu không khớp'
|
||||||
|
unvalid_session: '&fPhiên đăng nhập không hồi đáp, vui lòng chờ phiên đăng nhập kết thúc'
|
||||||
|
reg_only: '&fChỉ cho phép người đã đăng kí! Hãy vào trang http://web-của.bạn/ để đăng kí'
|
||||||
|
logged_in: '&cĐã đăng nhập!'
|
||||||
|
logout: '&cThoát đăng nhập thành công'
|
||||||
|
same_nick: '&fTài khoản đang được người khác sử dụng trong server'
|
||||||
|
registered: '&cĐăng kí thành công!'
|
||||||
|
pass_len: '&fMật khẩu của bạn quá ngắn hoặc quá dài'
|
||||||
|
reload: '&fThiết lập và dữ liệu đã được nạp lại'
|
||||||
|
timeout: '&fQuá thời gian đăng nhập'
|
||||||
|
usage_changepassword: '&eSử dụng: /changepassword mật-khẩu-cũ mật-khẩu-mới'
|
||||||
|
name_len: '&cTên đăng nhập của bạn quá ngắn hoặc quá dài'
|
||||||
|
regex: '&cTên đăng nhập của bạn có chứa kí tự đặc biệt không được cho phép. Các kí tự hợp lệ: REG_EX'
|
||||||
|
add_email: '&cVui lòng thêm địa chỉ email cho tài khoản với lệnh: /email add email-của-bạn nhập-lại-email-của-bạn'
|
||||||
|
bad_database_email: '[AuthMe] Lệnh /email chỉ hoạt động với cơ sở dữ liệu MySQL và SQLite,
|
||||||
|
hãy liên hệ điều hành viên của server'
|
||||||
|
recovery_email: '&cQuên mật khẩu? Hãy dùng lệnh /email recovery <email-của-bạn>'
|
||||||
|
usage_captcha: '&cBạn cần nhập mã xác nhận: /captcha <mã-xác-nhận>'
|
||||||
|
wrong_captcha: '&cSai mã xác nhận, nhập lại: /captcha <mã-xác-nhận>'
|
||||||
|
valid_captcha: '&aMã xác nhận hợp lệ!'
|
||||||
|
kick_forvip: '&cNgười chơi VIP đã vào server hiện đang full!'
|
||||||
|
kick_fullserver: '&cXin lỗi, hiện tại server không còn trống slot để bạn có thể vào!'
|
||||||
|
usage_email_add: '&eSử dụng: /email add <email> <nhập-lại-email> '
|
||||||
|
usage_email_change: '&eSử dụng: /email change <email-cũ> <email-mới> '
|
||||||
|
usage_email_recovery: '&eSử dụng: /email recovery <Email>'
|
||||||
|
new_email_invalid: '[AuthMe] Địa chỉ email mới không hợp lệ!'
|
||||||
|
old_email_invalid: '[AuthMe] Địa chỉ email cũ không hợp lệ!'
|
||||||
|
email_invalid: '[AuthMe] Sai địa chỉ email'
|
||||||
|
email_added: '[AuthMe] Đã thêm địa chỉ email !'
|
||||||
|
email_confirm: '[AuthMe] Xác nhận email !'
|
||||||
|
email_changed: '[AuthMe] Đã thay đổi email !'
|
||||||
|
email_send: '[AuthMe] Đã gửi email khôi phục mật khẩu tới bạn !'
|
||||||
|
country_banned: 'Rất tiếc, quốc gia của bạn không được phép gia nhập server'
|
||||||
|
antibot_auto_enabled: '[AuthMe] AntiBot đã được kích hoạt vì lượng người chơi kết nối vượt quá giới hạn!'
|
||||||
|
antibot_auto_disabled: '[AuthMe] AntiBot tự huỷ kích hoạt sau %m phút,
|
||||||
|
hi vọng lượng kết nối sẽ giảm bớt'
|
Loading…
Reference in New Issue
Block a user