mirror of
https://github.com/Xiao-MoMi/Custom-Fishing.git
synced 2025-12-27 02:49:17 +00:00
checkpoint - 10
This commit is contained in:
@@ -13,4 +13,6 @@ public interface ConfigLoader {
|
||||
YamlDocument loadData(File file);
|
||||
|
||||
YamlDocument loadData(File file, char routeSeparator);
|
||||
|
||||
void saveResource(String filePath);
|
||||
}
|
||||
|
||||
@@ -236,13 +236,6 @@ public enum Dependency {
|
||||
"caffeine",
|
||||
Relocation.of("caffeine", "com{}github{}benmanes{}caffeine")
|
||||
),
|
||||
LETTUCE(
|
||||
"io{}lettuce",
|
||||
"lettuce-core",
|
||||
"maven",
|
||||
"lettuce-core",
|
||||
Relocation.of("lettuce", "io{}lettuce")
|
||||
),
|
||||
JEDIS(
|
||||
"redis{}clients",
|
||||
"jedis",
|
||||
|
||||
@@ -17,126 +17,25 @@
|
||||
|
||||
package net.momirealms.customfishing.common.helper;
|
||||
|
||||
import net.momirealms.customfishing.common.plugin.CustomFishingPlugin;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* This class implements the VersionManager interface and is responsible for managing version-related information.
|
||||
*/
|
||||
public class VersionHelper {
|
||||
|
||||
private final boolean isNewerThan1_19_3;
|
||||
private final boolean isNewerThan1_19_4;
|
||||
private final boolean isNewerThan1_20;
|
||||
private final boolean isNewerThan1_20_5;
|
||||
private final boolean isNewerThan1_19;
|
||||
private final String serverVersion;
|
||||
private final boolean isSpigot;
|
||||
private boolean hasRegionScheduler;
|
||||
private boolean isMojmap;
|
||||
private final String pluginVersion;
|
||||
|
||||
public VersionHelper(String serverVersion) {
|
||||
this.serverVersion = serverVersion;
|
||||
String[] split = serverVersion.split("\\.");
|
||||
int main_ver = Integer.parseInt(split[0]);
|
||||
// Determine if the server version is newer than 1_19_R2 and 1_20_R1
|
||||
if (main_ver >= 20) {
|
||||
isNewerThan1_20_5 = Integer.parseInt(split[1]) >= 5;
|
||||
isNewerThan1_19_3 = isNewerThan1_19_4 = true;
|
||||
isNewerThan1_20 = true;
|
||||
isNewerThan1_19 = true;
|
||||
} else if (main_ver == 19) {
|
||||
isNewerThan1_20 = isNewerThan1_20_5 = false;
|
||||
isNewerThan1_19_3 = Integer.parseInt(split[1]) >= 3;
|
||||
isNewerThan1_19_4 = Integer.parseInt(split[1]) >= 4;
|
||||
isNewerThan1_19 = true;
|
||||
} else {
|
||||
isNewerThan1_20 = isNewerThan1_20_5 = isNewerThan1_19 = isNewerThan1_19_3 = isNewerThan1_19_4 = false;
|
||||
}
|
||||
// Check if the server is Spigot
|
||||
String server_name = plugin.getServer().getName();
|
||||
this.isSpigot = server_name.equals("CraftBukkit");
|
||||
|
||||
// Check if the server is Folia
|
||||
try {
|
||||
Class.forName("io.papermc.paper.threadedregions.scheduler.AsyncScheduler");
|
||||
this.hasRegionScheduler = true;
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
|
||||
}
|
||||
|
||||
// Check if the server is Mojmap
|
||||
try {
|
||||
Class.forName("net.minecraft.network.protocol.game.ClientboundBossEventPacket");
|
||||
this.isMojmap = true;
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
|
||||
}
|
||||
|
||||
// Get the plugin version
|
||||
this.pluginVersion = plugin.getDescription().getVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVersionNewerThan1_19() {
|
||||
return isNewerThan1_19;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVersionNewerThan1_19_4() {
|
||||
return isNewerThan1_19_4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVersionNewerThan1_19_3() {
|
||||
return isNewerThan1_19_3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVersionNewerThan1_20() {
|
||||
return isNewerThan1_20;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNewerThan1_20_5() {
|
||||
return isNewerThan1_20_5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSpigot() {
|
||||
return isSpigot;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginVersion() {
|
||||
return pluginVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasRegionScheduler() {
|
||||
return hasRegionScheduler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMojmap() {
|
||||
return isMojmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServerVersion() {
|
||||
return serverVersion;
|
||||
}
|
||||
|
||||
// Method to asynchronously check for plugin updates
|
||||
@Override
|
||||
public CompletableFuture<Boolean> checkUpdate() {
|
||||
public static final Function<CustomFishingPlugin, CompletableFuture<Boolean>> UPDATE_CHECKER = (plugin) -> {
|
||||
CompletableFuture<Boolean> updateFuture = new CompletableFuture<>();
|
||||
plugin.getScheduler().async(() -> {
|
||||
plugin.getScheduler().async().execute(() -> {
|
||||
try {
|
||||
URL url = new URL("https://api.polymart.org/v1/getResourceInfoSimple/?resource_id=2723&key=version");
|
||||
URLConnection conn = url.openConnection();
|
||||
@@ -144,7 +43,7 @@ public class VersionHelper {
|
||||
conn.setReadTimeout(60000);
|
||||
InputStream inputStream = conn.getInputStream();
|
||||
String newest = new BufferedReader(new InputStreamReader(inputStream)).readLine();
|
||||
String current = plugin.getVersionManager().getPluginVersion();
|
||||
String current = plugin.getPluginVersion();
|
||||
inputStream.close();
|
||||
if (!compareVer(newest, current)) {
|
||||
updateFuture.complete(false);
|
||||
@@ -152,15 +51,71 @@ public class VersionHelper {
|
||||
}
|
||||
updateFuture.complete(true);
|
||||
} catch (Exception exception) {
|
||||
LogUtils.warn("Error occurred when checking update.", exception);
|
||||
plugin.getPluginLogger().warn("Error occurred when checking update.", exception);
|
||||
updateFuture.complete(false);
|
||||
}
|
||||
});
|
||||
return updateFuture;
|
||||
};
|
||||
|
||||
private static float version;
|
||||
private static boolean mojmap;
|
||||
private static boolean folia;
|
||||
|
||||
public static void init(String serverVersion) {
|
||||
String[] split = serverVersion.split("\\.");
|
||||
version = Float.parseFloat(split[1] + "." + split[2]);
|
||||
checkMojMap();
|
||||
checkFolia();
|
||||
}
|
||||
|
||||
private static void checkMojMap() {
|
||||
// Check if the server is Mojmap
|
||||
try {
|
||||
Class.forName("net.minecraft.network.protocol.game.ClientboundBossEventPacket");
|
||||
mojmap = true;
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkFolia() {
|
||||
try {
|
||||
Class.forName("io.papermc.paper.threadedregions.RegionizedServer");
|
||||
folia = true;
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isVersionNewerThan1_19() {
|
||||
return version >= 19;
|
||||
}
|
||||
|
||||
public static boolean isVersionNewerThan1_19_4() {
|
||||
return version >= 19.4;
|
||||
}
|
||||
|
||||
public static boolean isVersionNewerThan1_19_3() {
|
||||
return version >= 19.3;
|
||||
}
|
||||
|
||||
public static boolean isVersionNewerThan1_20() {
|
||||
return version >= 20.0;
|
||||
}
|
||||
|
||||
public boolean isNewerThan1_20_5() {
|
||||
return version >= 20.5;
|
||||
}
|
||||
|
||||
public static boolean isFolia() {
|
||||
return folia;
|
||||
}
|
||||
|
||||
public static boolean isMojmap() {
|
||||
return mojmap;
|
||||
}
|
||||
|
||||
// Method to compare two version strings
|
||||
private boolean compareVer(String newV, String currentV) {
|
||||
private static boolean compareVer(String newV, String currentV) {
|
||||
if (newV == null || currentV == null || newV.isEmpty() || currentV.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5,5 +5,112 @@ import net.kyori.adventure.text.TranslatableComponent;
|
||||
|
||||
public interface MessageConstants {
|
||||
|
||||
TranslatableComponent.Builder COMMAND_RELOAD = Component.translatable().key("argument.entity.notfound.player");
|
||||
TranslatableComponent.Builder COMMAND_PREFIX = Component.translatable().key("command.prefix");
|
||||
TranslatableComponent.Builder COMMAND_RELOAD_SUCCESS = Component.translatable().key("command.reload.success");
|
||||
TranslatableComponent.Builder COMMAND_ITEM_FAILURE_NOT_EXIST = Component.translatable().key("command.item.failure.not_exist");
|
||||
TranslatableComponent.Builder COMMAND_ITEM_GIVE_SUCCESS = Component.translatable().key("command.item.give.success");
|
||||
TranslatableComponent.Builder COMMAND_ITEM_GET_SUCCESS = Component.translatable().key("command.item.get.success");
|
||||
TranslatableComponent.Builder COMMAND_FISH_FINDER_POSSIBLE_LOOTS = Component.translatable().key("command.fish_finder.possible_loots");
|
||||
TranslatableComponent.Builder COMMAND_FISH_FINDER_NO_LOOT = Component.translatable().key("command.fish_finder.no_loot");
|
||||
TranslatableComponent.Builder COMMAND_FISH_FINDER_SPLIT_CHAR = Component.translatable().key("command.fish_finder.split_char");
|
||||
TranslatableComponent.Builder COMMAND_COMPETITION_FAILURE_NOT_EXIST = Component.translatable().key("command.competition.failure.not_exist");
|
||||
TranslatableComponent.Builder COMMAND_COMPETITION_FAILURE_NO_COMPETITION = Component.translatable().key("command.competition.failure.no_competition");
|
||||
TranslatableComponent.Builder COMMAND_COMPETITION_FAILURE_STOP_SUCCESS = Component.translatable().key("command.competition.failure.stop.success");
|
||||
TranslatableComponent.Builder COMMAND_COMPETITION_FAILURE_END_SUCCESS = Component.translatable().key("command.competition.failure.end.success");
|
||||
TranslatableComponent.Builder COMMAND_BAG_EDIT_FAILURE_UNSAFE = Component.translatable().key("command.bag.edit.failure.unsafe");
|
||||
TranslatableComponent.Builder COMMAND_BAG_EDIT_FAILURE_NEVER_PLAYED = Component.translatable().key("command.bag.edit.failure.never_played");
|
||||
TranslatableComponent.Builder COMMAND_BAG_OPEN_SUCCESS = Component.translatable().key("command.bag.edit.open.success");
|
||||
TranslatableComponent.Builder COMMAND_DATA_FAILURE_NOT_LOAD = Component.translatable().key("command.data.failure.not_load");
|
||||
TranslatableComponent.Builder COMMAND_MARKET_OPEN_SUCCESS = Component.translatable().key("command.market.open.success");
|
||||
TranslatableComponent.Builder GUI_SELECT_FILE = Component.translatable().key("gui.select_file");
|
||||
TranslatableComponent.Builder GUI_SELECT_ITEM = Component.translatable().key("gui.select_item");
|
||||
TranslatableComponent.Builder GUI_INVALID_KEY = Component.translatable().key("gui.invalid_key");
|
||||
TranslatableComponent.Builder GUI_NEW_VALUE = Component.translatable().key("gui.new_value");
|
||||
TranslatableComponent.Builder GUI_TEMP_NEW_KEY = Component.translatable().key("gui.temp_new_key");
|
||||
TranslatableComponent.Builder GUI_SET_NEW_KEY = Component.translatable().key("gui.set_new_key");
|
||||
TranslatableComponent.Builder GUI_EDIT_KEY = Component.translatable().key("gui.edit_key");
|
||||
TranslatableComponent.Builder GUI_DELETE_PROPERTY = Component.translatable().key("gui.delete_property");
|
||||
TranslatableComponent.Builder GUI_CLICK_CONFIRM = Component.translatable().key("gui.click_confirm");
|
||||
TranslatableComponent.Builder GUI_INVALID_NUMBER = Component.translatable().key("gui.invalid_number");
|
||||
TranslatableComponent.Builder GUI_ILLEGAL_FORMAT = Component.translatable().key("gui.illegal_format");
|
||||
TranslatableComponent.Builder GUI_SCROLL_UP = Component.translatable().key("gui.scroll_up");
|
||||
TranslatableComponent.Builder GUI_SCROLL_DOWN = Component.translatable().key("gui.scroll_down");
|
||||
TranslatableComponent.Builder GUI_CANNOT_SCROLL_UP = Component.translatable().key("gui.cannot_scroll_up");
|
||||
TranslatableComponent.Builder GUI_CANNOT_SCROLL_DOWN = Component.translatable().key("gui.cannot_scroll_down");
|
||||
TranslatableComponent.Builder GUI_NEXT_PAGE = Component.translatable().key("gui.next_page");
|
||||
TranslatableComponent.Builder GUI_GOTO_NEXT_PAGE = Component.translatable().key("gui.goto_next_page");
|
||||
TranslatableComponent.Builder GUI_CANNOT_GOTO_NEXT_PAGE = Component.translatable().key("gui.cannot_goto_next_page");
|
||||
TranslatableComponent.Builder GUI_PREVIOUS_PAGE = Component.translatable().key("gui.previous_page");
|
||||
TranslatableComponent.Builder GUI_GOTO_PREVIOUS_PAGE = Component.translatable().key("gui.goto_previous_page");
|
||||
TranslatableComponent.Builder GUI_CANNOT_GOTO_PREVIOUS_PAGE = Component.translatable().key("gui.cannot_goto_previous_page");
|
||||
TranslatableComponent.Builder GUI_BACK_TO_PARENT_PAGE = Component.translatable().key("gui.back_to_parent_page");
|
||||
TranslatableComponent.Builder GUI_BACK_TO_PARENT_FOLDER = Component.translatable().key("gui.back_to_parent_folder");
|
||||
TranslatableComponent.Builder GUI_CURRENT_VALUE = Component.translatable().key("gui.current_value");
|
||||
TranslatableComponent.Builder GUI_CLICK_TO_TOGGLE = Component.translatable().key("gui.click_to_toggle");
|
||||
TranslatableComponent.Builder GUI_LEFT_CLICK_EDIT = Component.translatable().key("gui.left_click_edit");
|
||||
TranslatableComponent.Builder GUI_RIGHT_CLICK_RESET = Component.translatable().key("gui.right_click_reset");
|
||||
TranslatableComponent.Builder GUI_RIGHT_CLICK_DELETE = Component.translatable().key("gui.right_click_delete");
|
||||
TranslatableComponent.Builder GUI_RIGHT_CLICK_CANCEL = Component.translatable().key("gui.right_click_cancel");
|
||||
TranslatableComponent.Builder GUI_LOOT_SHOW_IN_FINDER = Component.translatable().key("gui.loot_show_in_finder");
|
||||
TranslatableComponent.Builder GUI_LOOT_SCORE = Component.translatable().key("gui.loot_score");
|
||||
TranslatableComponent.Builder GUI_LOOT_NICK = Component.translatable().key("gui.loot_nick");
|
||||
TranslatableComponent.Builder GUI_LOOT_INSTANT_GAME = Component.translatable().key("gui.loot_instant_game");
|
||||
TranslatableComponent.Builder GUI_LOOT_DISABLE_STATISTICS = Component.translatable().key("gui.loot_disable_statistics");
|
||||
TranslatableComponent.Builder GUI_LOOT_DISABLE_GAME = Component.translatable().key("gui.loot_disable_game");
|
||||
TranslatableComponent.Builder GUI_ITEM_AMOUNT = Component.translatable().key("gui.item_amount");
|
||||
TranslatableComponent.Builder GUI_ITEM_CUSTOM_MODEL_DATA = Component.translatable().key("gui.item_custom_model_data");
|
||||
TranslatableComponent.Builder GUI_ITEM_DISPLAY_NAME = Component.translatable().key("gui.item_display_name");
|
||||
TranslatableComponent.Builder GUI_ITEM_CUSTOM_DURABILITY = Component.translatable().key("gui.item_custom_durability");
|
||||
TranslatableComponent.Builder GUI_ITEM_ENCHANTMENT = Component.translatable().key("gui.item_enchantment");
|
||||
TranslatableComponent.Builder GUI_ITEM_HEAD64 = Component.translatable().key("gui.item_head64");
|
||||
TranslatableComponent.Builder GUI_ITEM_FLAG = Component.translatable().key("gui.item_item_flag");
|
||||
TranslatableComponent.Builder GUI_ITEM_LORE = Component.translatable().key("gui.item_lore");
|
||||
TranslatableComponent.Builder GUI_ITEM_MATERIAL = Component.translatable().key("gui.item_material");
|
||||
TranslatableComponent.Builder GUI_ITEM_NBT = Component.translatable().key("gui.item_nbt");
|
||||
TranslatableComponent.Builder GUI_ITEM_PREVENT_GRAB = Component.translatable().key("gui.item_prevent_grab");
|
||||
TranslatableComponent.Builder GUI_ITEM_PRICE = Component.translatable().key("gui.item_price");
|
||||
TranslatableComponent.Builder GUI_ITEM_PRICE_BASE = Component.translatable().key("gui.item_price_base");
|
||||
TranslatableComponent.Builder GUI_ITEM_PRICE_BONUS = Component.translatable().key("gui.item_price_bonus");
|
||||
TranslatableComponent.Builder GUI_ITEM_RANDOM_DURABILITY = Component.translatable().key("gui.item_random_durability");
|
||||
TranslatableComponent.Builder GUI_ITEM_SIZE = Component.translatable().key("gui.item_size");
|
||||
TranslatableComponent.Builder GUI_ITEM_STACKABLE = Component.translatable().key("gui.item_stackable");
|
||||
TranslatableComponent.Builder GUI_ITEM_STORED_ENCHANTMENT = Component.translatable().key("gui.item_stored_enchantment");
|
||||
TranslatableComponent.Builder GUI_ITEM_TAG = Component.translatable().key("gui.item_tag");
|
||||
TranslatableComponent.Builder GUI_ITEM_UNBREAKABLE = Component.translatable().key("gui.item_unbreakable");
|
||||
TranslatableComponent.Builder GUI_PAGE_AMOUNT_TITLE = Component.translatable().key("gui.page_amount_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_MODEL_DATA_TITLE = Component.translatable().key("gui.page_model_data_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_DISPLAY_NAME_TITLE = Component.translatable().key("gui.page_display_name_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NEW_DISPLAY_NAME = Component.translatable().key("gui.page_new_display_name");
|
||||
TranslatableComponent.Builder GUI_PAGE_CUSTOM_DURABILITY_TITLE = Component.translatable().key("gui.page_custom_durability_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_STORED_ENCHANTMENT_TITLE = Component.translatable().key("gui.page_stored_enchantment_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_ENCHANTMENT_TITLE = Component.translatable().key("gui.page_enchantment_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_SELECT_ONE_ENCHANTMENT = Component.translatable().key("gui.page_select_one_enchantment");
|
||||
TranslatableComponent.Builder GUI_PAGE_ADD_NEW_ENCHANTMENT = Component.translatable().key("gui.page_add_new_enchantment");
|
||||
TranslatableComponent.Builder GUI_PAGE_ITEM_FLAG_TITLE = Component.translatable().key("gui.page_item_flag_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_LORE_TITLE = Component.translatable().key("gui.page_lore_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_ADD_NEW_LORE = Component.translatable().key("gui.page_add_new_lore");
|
||||
TranslatableComponent.Builder GUI_PAGE_SELECT_ONE_LORE = Component.translatable().key("gui.page_select_one_lore");
|
||||
TranslatableComponent.Builder GUI_PAGE_MATERIAL_TITLE = Component.translatable().key("gui.page_material_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_COMPOUND_KEY_TITLE = Component.translatable().key("gui.page_nbt_compound_key_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_LIST_KEY_TITLE = Component.translatable().key("gui.page_nbt_list_key_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_KEY_TITLE = Component.translatable().key("gui.page_nbt_key_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_INVALID_KEY = Component.translatable().key("gui.page_nbt_invalid_key");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_ADD_NEW_COMPOUND= Component.translatable().key("gui.page_nbt_add_new_compound");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_ADD_NEW_LIST = Component.translatable().key("gui.page_nbt_add_new_list");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_ADD_NEW_VALUE = Component.translatable().key("gui.page_nbt_add_new_value");
|
||||
TranslatableComponent.Builder GUI_PAGE_ADD_NEW_KEY = Component.translatable().key("gui.page_add_new_key");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_PREVIEW = Component.translatable().key("gui.page_nbt_preview");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_BACK_TO_COMPOUND = Component.translatable().key("gui.page_nbt_back_to_compound");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_SET_VALUE_TITLE = Component.translatable().key("gui.page_nbt_set_value_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NBT_EDIT_TITLE = Component.translatable().key("gui.page_nbt_edit_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NICK_TITLE = Component.translatable().key("gui.page_nick_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_NEW_NICK = Component.translatable().key("gui.page_new_nick");
|
||||
TranslatableComponent.Builder GUI_PAGE_PRICE_TITLE = Component.translatable().key("gui.page_price_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_BASE_PRICE = Component.translatable().key("gui.page_base_price");
|
||||
TranslatableComponent.Builder GUI_PAGE_BASE_BONUS = Component.translatable().key("gui.page_base_bonus");
|
||||
TranslatableComponent.Builder GUI_PAGE_SCORE_TITLE = Component.translatable().key("gui.page_score_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_SIZE_TITLE = Component.translatable().key("gui.page_size_title");
|
||||
TranslatableComponent.Builder GUI_PAGE_SIZE_MIN = Component.translatable().key("gui.page_size_min");
|
||||
TranslatableComponent.Builder GUI_PAGE_SIZE_MAX = Component.translatable().key("gui.page_size_max");
|
||||
TranslatableComponent.Builder GUI_PAGE_SIZE_MAX_NO_LESS_MIN = Component.translatable().key("gui.page_size_max_no_less_min");
|
||||
}
|
||||
|
||||
@@ -5,7 +5,123 @@ public class StandardLocales {
|
||||
public static String COMPETITION_NO_PLAYER = "No Player";
|
||||
public static String COMPETITION_NO_SCORE = "No Score";
|
||||
public static String COMPETITION_NO_RANK = "No Rank";
|
||||
|
||||
public static String GOAL_TOTAL_SIZE;
|
||||
public static String GOAL_CATCH_AMOUNT;
|
||||
public static String GOAL_TOTAL_SCORE;
|
||||
public static String GOAL_MAX_SIZE;
|
||||
|
||||
public static String FORMAT_SECOND = "s";
|
||||
public static String FORMAT_MINUTE = "m";
|
||||
public static String FORMAT_HOUR = "h";
|
||||
|
||||
public static String COMMAND_PREFIX;
|
||||
public static String COMMAND_RELOAD;
|
||||
public static String COMMAND_COMPETITION_NOT_EXISTS;
|
||||
public static String COMMAND_N0_COMPETITION_ONGOING;
|
||||
public static String COMMAND_END_COMPETITION;
|
||||
public static String COMMAND_STOP_COMPETITION;
|
||||
public static String COMMAND_ITEM_NOT_EXISTS;
|
||||
public static String COMMAND_GET_ITEM;
|
||||
public static String COMMAND_GIVE_ITEM;
|
||||
public static String COMMAND_NEVER_PLAYED;
|
||||
public static String COMMAND_UNSAFE_MODIFICATION;
|
||||
public static String COMMAND_DATA_NOT_LOAD;
|
||||
public static String COMMAND_MARKET_OPEN;
|
||||
public static String COMMAND_FISHING_BAG_OPEN;
|
||||
public static String COMMAND_POSSIBLE_LOOTS_SPLIT_CHAR;
|
||||
public static String COMMAND_POSSIBLE_LOOTS;
|
||||
|
||||
public static String GUI_SCROLL_DOWN;
|
||||
public static String GUI_SCROLL_UP;
|
||||
public static String GUI_CANNOT_SCROLL_UP;
|
||||
public static String GUI_CANNOT_SCROLL_DOWN;
|
||||
public static String GUI_NEXT_PAGE;
|
||||
public static String GUI_GOTO_NEXT_PAGE;
|
||||
public static String GUI_CANNOT_GOTO_NEXT_PAGE;
|
||||
public static String GUI_PREVIOUS_PAGE;
|
||||
public static String GUI_GOTO_PREVIOUS_PAGE;
|
||||
public static String GUI_CANNOT_GOTO_PREVIOUS_PAGE;
|
||||
public static String GUI_BACK_TO_PARENT_PAGE;
|
||||
public static String GUI_BACK_TO_PARENT_FOLDER;
|
||||
public static String GUI_CURRENT_VALUE;
|
||||
public static String GUI_CLICK_TO_TOGGLE;
|
||||
public static String GUI_LEFT_CLICK_EDIT;
|
||||
public static String GUI_RIGHT_CLICK_RESET;
|
||||
public static String GUI_RIGHT_CLICK_DELETE;
|
||||
public static String GUI_LOOT_SHOW_IN_FINDER;
|
||||
public static String GUI_LOOT_SCORE;
|
||||
public static String GUI_LOOT_NICK;
|
||||
public static String GUI_LOOT_INSTANT_GAME;
|
||||
public static String GUI_LOOT_DISABLE_STATS;
|
||||
public static String GUI_LOOT_DISABLE_GAME;
|
||||
public static String GUI_ITEM_AMOUNT;
|
||||
public static String GUI_ITEM_MODEL_DATA;
|
||||
public static String GUI_ITEM_DISPLAY_NAME;
|
||||
public static String GUI_ITEM_DURABILITY;
|
||||
public static String GUI_ITEM_ENCHANTMENT;
|
||||
public static String GUI_ITEM_HEAD64;
|
||||
public static String GUI_ITEM_FLAG;
|
||||
public static String GUI_ITEM_LORE;
|
||||
public static String GUI_ITEM_MATERIAL;
|
||||
public static String GUI_ITEM_NBT;
|
||||
public static String GUI_ITEM_PREVENT_GRAB;
|
||||
public static String GUI_ITEM_PRICE;
|
||||
public static String GUI_ITEM_PRICE_BASE;
|
||||
public static String GUI_ITEM_PRICE_BONUS;
|
||||
public static String GUI_ITEM_RANDOM_DURABILITY;
|
||||
public static String GUI_ITEM_SIZE;
|
||||
public static String GUI_ITEM_STACKABLE;
|
||||
public static String GUI_ITEM_STORED_ENCHANTMENT;
|
||||
public static String GUI_ITEM_TAG;
|
||||
public static String GUI_ITEM_UNBREAKABLE;
|
||||
public static String GUI_DELETE_PROPERTY;
|
||||
public static String GUI_NEW_VALUE;
|
||||
public static String GUI_CLICK_CONFIRM;
|
||||
public static String GUI_INVALID_NUMBER;
|
||||
public static String GUI_ILLEGAL_FORMAT;
|
||||
public static String GUI_TITLE_AMOUNT;
|
||||
public static String GUI_TITLE_MODEL_DATA;
|
||||
public static String GUI_TITLE_DISPLAY_NAME;
|
||||
public static String GUI_NEW_DISPLAY_NAME;
|
||||
public static String GUI_TITLE_CUSTOM_DURABILITY;
|
||||
public static String GUI_TITLE_ENCHANTMENT;
|
||||
public static String GUI_TITLE_STORED_ENCHANTMENT;
|
||||
public static String GUI_SELECT_ONE_ENCHANTMENT;
|
||||
public static String GUI_ADD_NEW_ENCHANTMENT;
|
||||
public static String GUI_TITLE_ITEM_FLAG;
|
||||
public static String GUI_TITLE_LORE;
|
||||
public static String GUI_ADD_NEW_LORE;
|
||||
public static String GUI_SELECT_ONE_LORE;
|
||||
public static String GUI_TITLE_MATERIAL;
|
||||
public static String GUI_TITLE_NBT_COMPOUND;
|
||||
public static String GUI_TITLE_NBT_LIST;
|
||||
public static String GUI_TITLE_NBT_KEY;
|
||||
public static String GUI_NBT_INVALID_KEY;
|
||||
public static String GUI_RIGHT_CLICK_CANCEL;
|
||||
public static String GUI_NBT_ADD_COMPOUND;
|
||||
public static String GUI_NBT_ADD_LIST;
|
||||
public static String GUI_NBT_ADD_VALUE;
|
||||
public static String GUI_NBT_PREVIEW;
|
||||
public static String GUI_NBT_BACK_TO_COMPOUND;
|
||||
public static String GUI_NBT_SET_VALUE_TITLE;
|
||||
public static String GUI_NBT_EDIT_TITLE;
|
||||
public static String GUI_NICK_TITLE;
|
||||
public static String GUI_NICK_NEW;
|
||||
public static String GUI_PRICE_TITLE;
|
||||
public static String GUI_PRICE_BASE;
|
||||
public static String GUI_PRICE_BONUS;
|
||||
public static String GUI_SCORE_TITLE;
|
||||
public static String GUI_SIZE_TITLE;
|
||||
public static String GUI_SIZE_MIN;
|
||||
public static String GUI_SIZE_MAX;
|
||||
public static String GUI_SIZE_MAX_NO_LESS;
|
||||
public static String GUI_SELECT_FILE;
|
||||
public static String GUI_SELECT_ITEM;
|
||||
public static String GUI_ADD_NEW_KEY;
|
||||
public static String GUI_DUPE_INVALID_KEY;
|
||||
public static String GUI_SEARCH;
|
||||
public static String GUI_TEMP_NEW_KEY;
|
||||
public static String GUI_SET_NEW_KEY;
|
||||
public static String GUI_EDIT_KEY;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.stream.Stream;
|
||||
public class TranslationManager {
|
||||
|
||||
public static final Locale DEFAULT_LOCALE = Locale.ENGLISH;
|
||||
private static final List<String> locales = List.of("en");
|
||||
private static final List<String> locales = List.of("en", "zh_cn");
|
||||
|
||||
private final CustomFishingPlugin plugin;
|
||||
private final Set<Locale> installed = ConcurrentHashMap.newKeySet();
|
||||
@@ -40,7 +40,7 @@ public class TranslationManager {
|
||||
}
|
||||
|
||||
for (String lang : locales) {
|
||||
this.plugin.getConfigManager().loadConfig("translations/" + lang + ".yml");
|
||||
this.plugin.getConfigManager().saveResource("translations/" + lang + ".yml");
|
||||
}
|
||||
|
||||
this.registry = MiniMessageTranslationRegistry.create(Key.key("customfishing", "main"), AdventureHelper.getMiniMessage());
|
||||
|
||||
Reference in New Issue
Block a user