9
0
mirror of https://github.com/Xiao-MoMi/Custom-Fishing.git synced 2025-12-19 15:09:24 +00:00

merge modules

This commit is contained in:
XiaoMoMi
2025-01-27 00:06:03 +08:00
parent 33c637ed83
commit 231a953f9f
87 changed files with 43 additions and 95 deletions

View File

@@ -1,7 +1,3 @@
plugins {
id("io.github.goooler.shadow") version "8.1.8"
}
repositories {
maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") // papi
maven("https://libraries.minecraft.net") // brigadier
@@ -15,7 +11,6 @@ dependencies {
// platform
compileOnly("dev.folia:folia-api:${rootProject.properties["paper_version"]}-R0.1-SNAPSHOT")
// subprojects
implementation(project(":common"))
implementation(project(":api")) {
exclude("dev.dejvokep", "boosted-yaml")
}

View File

@@ -60,7 +60,6 @@ import net.momirealms.sparrow.heart.SparrowHeart;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.InputStream;
import java.nio.file.Path;

View File

@@ -21,7 +21,6 @@ import dev.dejvokep.boostedyaml.YamlDocument;
import dev.dejvokep.boostedyaml.block.implementation.Section;
import net.momirealms.customfishing.api.BukkitCustomFishingPlugin;
import net.momirealms.customfishing.api.mechanic.context.Context;
import net.momirealms.customfishing.api.mechanic.context.ContextKeys;
import net.momirealms.customfishing.api.mechanic.effect.Effect;
import net.momirealms.customfishing.api.mechanic.loot.Loot;
import net.momirealms.customfishing.api.mechanic.loot.LootManager;

View File

@@ -0,0 +1,29 @@
builder=${builder}
git=${git_version}
config=${config_version}
asm=${asm_version}
asm-commons=${asm_commons_version}
jar-relocator=${jar_relocator_version}
h2-driver=${h2_driver_version}
sqlite-driver=${sqlite_driver_version}
cloud-core=${cloud_core_version}
cloud-brigadier=${cloud_brigadier_version}
cloud-services=${cloud_services_version}
cloud-bukkit=${cloud_bukkit_version}
cloud-paper=${cloud_paper_version}
cloud-minecraft-extras=${cloud_minecraft_extras_version}
boosted-yaml=${boosted_yaml_version}
mongodb-driver-core=${mongodb_driver_version}
mariadb-java-client=${mariadb_driver_version}
mysql-connector-j=${mysql_driver_version}
hikari-cp=${hikari_version}
commons-pool=${commons_pool_version}
bstats-base=${bstats_version}
geantyref=${geantyref_version}
gson=${gson_version}
caffeine=${caffeine_version}
jedis=${jedis_version}
exp4j=${exp4j_version}
slf4j=${slf4j_version}
lz4-java=${lz4_version}
lang=${lang}

View File

@@ -0,0 +1,93 @@
# Don't change this
config-version: "33"
exception.invalid_syntax: "<red>Invalid syntax. Correct syntax: <white><arg:0></white></red>"
exception.invalid_argument: "<red>Invalid argument. Reason: <white><arg:0></white></red>"
exception.invalid_sender: "<red><arg:0> is not allowed to execute that command. Must be of type <arg:1></red>"
exception.unexpected: "<red>An internal error occurred while attempting to perform this command</red>"
exception.no_permission: "<red>I'm sorry, but you do not have permission to perform this command</red>"
exception.no_such_command: "Unknown command."
argument.entity.notfound.player: "<red><lang:argument.entity.notfound.player></red>"
argument.entity.notfound.entity: "<red><lang:argument.entity.notfound.entity></red>"
argument.parse.failure.time: "<red>'<arg:0>' is not a valid time format</red>"
argument.parse.failure.material: "<red>'<arg:0>' is not a valid material name</red>"
argument.parse.failure.enchantment: "<red>'<arg:0>' is not a valid enchantment</red>"
argument.parse.failure.offlineplayer: "<red>No player found for input '<arg:0>'</red>"
argument.parse.failure.player: "<red>No player found for input '<arg:0>'</red>"
argument.parse.failure.world: "<red>'<arg:0>' is not a valid Minecraft world</red>"
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' is not a valid location. Required format is '<arg:1> <arg:2> <arg:3></red>"
argument.parse.failure.location.mixed_local_absolute: "<red>Cannot mix local and absolute coordinates. (either all coordinates use '^' or none do)</red>"
argument.parse.failure.namespacedkey.namespace: "<red>Invalid namespace '<arg:0>'. Must be [a-z0-9._-]</red>"
argument.parse.failure.namespacedkey.key: "<red>Invalid key '<arg:0>'. Must be [a-z0-9/._-]</red>"
argument.parse.failure.namespacedkey.need_namespace: "<red>Invalid input '<arg:0>', requires an explicit namespace</red>"
argument.parse.failure.boolean: "<red>Could not parse boolean from '<arg:0>'</red>"
argument.parse.failure.number: "<red>'<arg:0>' is not a valid number in the range <arg:1> to <arg:2></red>"
argument.parse.failure.char: "<red>'<arg:0>' is not a valid character</red>"
argument.parse.failure.string: "<red>'<arg:0>' is not a valid string of type <arg:1></red>"
argument.parse.failure.uuid: "<red>'<arg:0>' is not a valid UUID</red>"
argument.parse.failure.enum: "<red>'<arg:0>' is not one of the following: <arg:1></red>"
argument.parse.failure.regex: "<red>'<arg:0>' does not match '<arg:1>'</red>"
argument.parse.failure.flag.unknown: "<red>Unknown flag '<arg:0>'</red>"
argument.parse.failure.flag.duplicate_flag: "<red>Duplicate flag '<arg:0>'</red>"
argument.parse.failure.flag.no_flag_started: "<red>No flag started. Don't know what to do with '<arg:0>'</red>"
argument.parse.failure.flag.missing_argument: "<red>Missing argument for '<arg:0>'</red>"
argument.parse.failure.flag.no_permission: "<red>You don't have permission to use '<arg:0>'</red>"
argument.parse.failure.color: "<red>'<arg:0>' is not a valid color</red>"
argument.parse.failure.duration: "<red>'<arg:0>' is not a duration format</red>"
argument.parse.failure.aggregate.missing: "<red>Missing component '<arg:0>'</red>"
argument.parse.failure.aggregate.failure: "<red>Invalid component '<arg:0>': <arg:1></red>"
argument.parse.failure.either: "<red>Could not resolve <arg:1> or <arg:2> from '<arg:0>'</red>"
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' is not a named text color</red>"
command.reload.success: "<white>Reloaded. Took <green><arg:0></green> ms.</white>"
command.item.failure.not_exist: "<red>Item [<arg:0>] not exists.</red>"
command.item.give.success: "<white>Successfully given <arg:0> <arg:1>x <arg:2>.</white>"
command.item.get.success: "<white>Successfully got <arg:0>x <arg:1>.</white>"
command.item.import.failure.no_item: "<red>You can't import air</red>"
command.item.import.success: "<white>Item [<arg:0>] has been saved to /plugins/CustomFishing/imported_items.yml</white>"
command.fish_finder.possible_loots: "<white>Possible loots here: <arg:0></white>"
command.fish_finder.no_loot: "<white>No loot found here</white>"
command.fish_finder.split_char: ", "
command.competition.failure.not_exist: "<red>Competition <arg:0> does not exist.</red>"
command.competition.failure.no_competition: "<red>There's no competition ongoing.</red>"
command.competition.stop.success: "<white>Stopped the current competition.</white>"
command.competition.end.success: "<white>Ended the current competition.</white>"
command.competition.start.success: "<white>Started the competition.</white>"
command.bag.edit.failure.unsafe: "<red>Cannot edit a player's fishing bag if they're active on another linked server.</red>"
command.bag.edit.failure.never_played: "<red>The player hasn't joined the server before. Can't modify a nonexistent player's fishing bag.</red>"
command.bag.open.success: "<white>Successfully opened the fishing bag for <arg:0></white>"
command.bag.open.failure.not_loaded: "<red>Failed to open market for <arg:0> because data is not loaded</red>"
command.data.failure.not_loaded: "<red>Data hasn't been loaded. Please re-enter the server. If issues persist, reach out to the server admin.</red>"
command.market.open.success: "<white>Successfully opened the market gui for <arg:0></white>"
command.market.open.failure.not_loaded: "<red>Failed to open market for <arg:0> because data is not loaded</red>"
command.data.unlock.success: "<white>Successfully unlocked data for <arg:0></white>"
command.data.import.failure.not_exists: "<red>That file doesn't exist</red>"
command.data.import.failure.invalid_file: "<red>That file is invalid</red>"
command.data.import.failure.player_online: "<red>Please kick all the online players before using this command</red>"
command.data.import.start: "<white>Importing...</white>"
command.data.import.progress: "<white>Progress: <arg:0>/<arg:1></white>"
command.data.import.success: "<white>Successfully imported the data</white>"
command.data.export.failure.player_online: "<red>Please kick all the online players before using this command</red>"
command.data.export.start: "<white>Exporting...</white>"
command.data.export.progress: "<white>Progress: <arg:0>/<arg:1></white>"
command.data.export.success: "<white>Successfully exported the data</white>"
command.statistics.failure.not_loaded: "<red>Data has not been loaded for that player</red>"
command.statistics.failure.unsupported: "<red>Unsupported operation</red>"
command.statistics.modify.success: "<white>Successfully modified the fishing statistics for <arg:0></white>"
command.statistics.reset.success: "<white>Successfully reset the fishing statistics for <arg:0></white>"
command.statistics.query.size: "<white>Max sizes: <arg:0></white>"
command.statistics.query.amount: "<white>Amount of fish caught: <arg:0></white>"
command.debug.loot.failure.rod: "<red>Please hold a fishing rod before using this command</red>"
command.debug.loot.failure.no_loot: "<red>No loot available</red>"
command.debug.loot.success: "<yellow><b>Available loots:</b></yellow> <arg:0>"
competition.no_score: "No Score"
competition.no_player: "No Player"
competition.no_rank: "No Rank"
competition.goal.catch_amount: "Fish count caught"
competition.goal.max_size: "Largest fish caught"
competition.goal.min_size: "Smallest fish caught"
competition.goal.total_score: "Cumulative score of fish caught"
competition.goal.total_size: "Total length of fish caught"
format.day: "d"
format.hour: "h"
format.minute: "m"
format.second: "s"

View File

@@ -0,0 +1,93 @@
# Não altere isso
# traduzido por https://github.com/goul4rt
config-version: "33"
exception.invalid_syntax: "<red>Sintaxe inválida. Sintaxe correta: <white><arg:0></white></red>"
exception.invalid_argument: "<red>Argumento inválido. Motivo: <white><arg:0></white></red>"
exception.invalid_sender: "<red><arg:0> não tem permissão para executar este comando. Deve ser do tipo <arg:1></red>"
exception.unexpected: "<red>Ocorreu um erro interno ao tentar executar este comando</red>"
exception.no_permission: "<red>Desculpe, mas você não tem permissão para executar este comando</red>"
exception.no_such_command: "Comando desconhecido."
argument.entity.notfound.player: "<red><lang:argument.entity.notfound.player></red>"
argument.entity.notfound.entity: "<red><lang:argument.entity.notfound.entity></red>"
argument.parse.failure.time: "<red>'<arg:0>' não é um formato de tempo válido</red>"
argument.parse.failure.material: "<red>'<arg:0>' não é um nome de material válido</red>"
argument.parse.failure.enchantment: "<red>'<arg:0>' não é um encantamento válido</red>"
argument.parse.failure.offlineplayer: "<red>Nenhum jogador encontrado para a entrada '<arg:0>'</red>"
argument.parse.failure.player: "<red>Nenhum jogador encontrado para a entrada '<arg:0>'</red>"
argument.parse.failure.world: "<red>'<arg:0>' não é um mundo válido do Minecraft</red>"
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' não é uma localização válida. O formato necessário é '<arg:1> <arg:2> <arg:3></red>"
argument.parse.failure.location.mixed_local_absolute: "<red>Não é possível misturar coordenadas locais e absolutas. (ou todas usam '^' ou nenhuma usa)</red>"
argument.parse.failure.namespacedkey.namespace: "<red>Namespace inválido '<arg:0>'. Deve ser [a-z0-9._-]</red>"
argument.parse.failure.namespacedkey.key: "<red>Chave inválida '<arg:0>'. Deve ser [a-z0-9/._-]</red>"
argument.parse.failure.namespacedkey.need_namespace: "<red>Entrada inválida '<arg:0>', requer um namespace explícito</red>"
argument.parse.failure.boolean: "<red>Não foi possível interpretar um booleano de '<arg:0>'</red>"
argument.parse.failure.number: "<red>'<arg:0>' não é um número válido no intervalo <arg:1> a <arg:2></red>"
argument.parse.failure.char: "<red>'<arg:0>' não é um caractere válido</red>"
argument.parse.failure.string: "<red>'<arg:0>' não é uma string válida do tipo <arg:1></red>"
argument.parse.failure.uuid: "<red>'<arg:0>' não é um UUID válido</red>"
argument.parse.failure.enum: "<red>'<arg:0>' não está entre os seguintes: <arg:1></red>"
argument.parse.failure.regex: "<red>'<arg:0>' não corresponde a '<arg:1>'</red>"
argument.parse.failure.flag.unknown: "<red>Flag desconhecida '<arg:0>'</red>"
argument.parse.failure.flag.duplicate_flag: "<red>Flag duplicada '<arg:0>'</red>"
argument.parse.failure.flag.no_flag_started: "<red>Nenhuma flag iniciada. Não sei o que fazer com '<arg:0>'</red>"
argument.parse.failure.flag.missing_argument: "<red>Argumento ausente para '<arg:0>'</red>"
argument.parse.failure.flag.no_permission: "<red>Você não tem permissão para usar '<arg:0>'</red>"
argument.parse.failure.color: "<red>'<arg:0>' não é uma cor válida</red>"
argument.parse.failure.duration: "<red>'<arg:0>' não é um formato de duração</red>"
argument.parse.failure.aggregate.missing: "<red>Componente ausente '<arg:0>'</red>"
argument.parse.failure.aggregate.failure: "<red>Componente inválido '<arg:0>': <arg:1></red>"
argument.parse.failure.either: "<red>Não foi possível resolver <arg:1> ou <arg:2> de '<arg:0>'</red>"
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' não é uma cor de texto nomeada</red>"
command.reload.success: "<white>Recarregado. Levou <green><arg:0></green> ms.</white>"
command.item.failure.not_exist: "<red>Item [<arg:0>] não existe.</red>"
command.item.give.success: "<white>Item <arg:0> <arg:1>x <arg:2> concedido com sucesso.</white>"
command.item.get.success: "<white><arg:0>x <arg:1> obtido com sucesso.</white>"
command.item.import.failure.no_item: "<red>Você não pode importar ar</red>"
command.item.import.success: "<white>Item [<arg:0>] foi salvo em /plugins/CustomFishing/imported_items.yml</white>"
command.fish_finder.possible_loots: "<white>Possíveis loots aqui: <arg:0></white>"
command.fish_finder.no_loot: "<white>Nenhum loot encontrado aqui</white>"
command.fish_finder.split_char: ", "
command.competition.failure.not_exist: "<red>Competição <arg:0> não existe.</red>"
command.competition.failure.no_competition: "<red>Não há competição em andamento.</red>"
command.competition.stop.success: "<white>Competição atual interrompida.</white>"
command.competition.end.success: "<white>Competição encerrada.</white>"
command.competition.start.success: "<white>Competição iniciada.</white>"
command.bag.edit.failure.unsafe: "<red>Não é possível editar a bolsa de pesca de um jogador ativo em outro servidor vinculado.</red>"
command.bag.edit.failure.never_played: "<red>O jogador nunca entrou no servidor. Não é possível modificar uma bolsa de pesca inexistente.</red>"
command.bag.open.success: "<white>Bolsa de pesca de <arg:0> aberta com sucesso</white>"
command.bag.open.failure.not_loaded: "<red>Falha ao abrir o mercado para <arg:0> porque os dados não estão carregados</red>"
command.data.failure.not_loaded: "<red>Os dados não foram carregados. Por favor, reentre no servidor. Se o problema persistir, entre em contato com o administrador.</red>"
command.market.open.success: "<white>Interface de mercado para <arg:0> aberta com sucesso</white>"
command.market.open.failure.not_loaded: "<red>Falha ao abrir o mercado para <arg:0> porque os dados não estão carregados</red>"
command.data.unlock.success: "<white>Dados desbloqueados com sucesso para <arg:0></white>"
command.data.import.failure.not_exists: "<red>Esse arquivo não existe</red>"
command.data.import.failure.invalid_file: "<red>Esse arquivo é inválido</red>"
command.data.import.failure.player_online: "<red>Por favor, expulse todos os jogadores online antes de usar este comando</red>"
command.data.import.start: "<white>Importando...</white>"
command.data.import.progress: "<white>Progresso: <arg:0>/<arg:1></white>"
command.data.import.success: "<white>Dados importados com sucesso</white>"
command.data.export.failure.player_online: "<red>Por favor, expulse todos os jogadores online antes de usar este comando</red>"
command.data.export.start: "<white>Exportando...</white>"
command.data.export.progress: "<white>Progresso: <arg:0>/<arg:1></white>"
command.data.export.success: "<white>Dados exportados com sucesso</white>"
command.statistics.failure.not_loaded: "<red>Os dados não foram carregados para esse jogador</red>"
command.statistics.failure.unsupported: "<red>Operação não suportada</red>"
command.statistics.modify.success: "<white>Estatísticas de pesca para <arg:0> modificadas com sucesso</white>"
command.statistics.reset.success: "<white>Estatísticas de pesca para <arg:0> redefinidas com sucesso</white>"
command.statistics.query.size: "<white>Tamanhos máximos: <arg:0></white>"
command.statistics.query.amount: "<white>Quantidade de peixes capturados: <arg:0></white>"
command.debug.loot.failure.rod: "<red>Segure uma vara de pesca antes de usar este comando</red>"
command.debug.loot.failure.no_loot: "<red>Nenhum loot disponível</red>"
command.debug.loot.success: "<yellow><b>Loots disponíveis:</b></yellow> <arg:0>"
competition.no_score: "Sem pontuação"
competition.no_player: "Sem jogador"
competition.no_rank: "Sem classificação"
competition.goal.catch_amount: "Quantidade de peixes capturados"
competition.goal.max_size: "Maior peixe capturado"
competition.goal.min_size: "Menor peixe capturado"
competition.goal.total_score: "Pontuação total dos peixes capturados"
competition.goal.total_size: "Tamanho total dos peixes capturados"
format.day: "d"
format.hour: "h"
format.minute: "m"
format.second: "s"

View File

@@ -0,0 +1,94 @@
# Translated into Russian by Szarkan
# Don't change this
config-version: "33"
exception.invalid_syntax: "<red>Неверный синтаксис. Правильный синтаксис: <white><arg:0></white></red>"
exception.invalid_argument: "<red>Неверный аргумент. Причина: <white><arg:0></white></red>"
exception.invalid_sender: "<red><arg:0> не имеет права выполнять эту команду. Должен быть типа <arg:1></red>"
exception.unexpected: "<red>Произошла внутренняя ошибка при попытке выполнить эту команду</red>"
exception.no_permission: "<red>Извини, но у тебя нет прав для выполнения этой команды</red>"
exception.no_such_command: "Неизвестная команда."
argument.entity.notfound.player: "<red><lang:argument.entity.notfound.player></red>"
argument.entity.notfound.entity: "<red><lang:argument.entity.notfound.entity></red>"
argument.parse.failure.time: "<red>'<arg:0>' не является допустимым форматом времени</red>"
argument.parse.failure.material: "<red>'<arg:0>' не является допустимым названием материала</red>"
argument.parse.failure.enchantment: "<red>'<arg:0>' не является допустимым чародейством</red>"
argument.parse.failure.offlineplayer: "<red>Игрок не найден для ввода '<arg:0>'</red>"
argument.parse.failure.player: "<red>Игрок не найден для ввода '<arg:0>'</red>"
argument.parse.failure.world: "<red>'<arg:0>' не является допустимым миром в Minecraft</red>"
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' не является допустимым местоположением. Требуемый формат: '<arg:1> <arg:2> <arg:3></red>"
argument.parse.failure.location.mixed_local_absolute: "<red>Нельзя смешивать локальные и абсолютные координаты. (все координаты должны использовать '^' или ни одна не должна)</red>"
argument.parse.failure.namespacedkey.namespace: "<red>Неверное пространство имен '<arg:0>'. Должно быть [a-z0-9._-]</red>"
argument.parse.failure.namespacedkey.key: "<red>Неверный ключ '<arg:0>'. Должен быть [a-z0-9/._-]</red>"
argument.parse.failure.namespacedkey.need_namespace: "<red>Неверный ввод '<arg:0>', требуется явное пространство имен</red>"
argument.parse.failure.boolean: "<red>Не удалось разобрать булево значение из '<arg:0>'</red>"
argument.parse.failure.number: "<red>'<arg:0>' не является допустимым числом в диапазоне от <arg:1> до <arg:2></red>"
argument.parse.failure.char: "<red>'<arg:0>' не является допустимым символом</red>"
argument.parse.failure.string: "<red>'<arg:0>' не является допустимой строкой типа <arg:1></red>"
argument.parse.failure.uuid: "<red>'<arg:0>' не является допустимым UUID</red>"
argument.parse.failure.enum: "<red>'<arg:0>' не является одним из следующих: <arg:1></red>"
argument.parse.failure.regex: "<red>'<arg:0>' не соответствует '<arg:1>'</red>"
argument.parse.failure.flag.unknown: "<red>Неизвестный флаг '<arg:0>'</red>"
argument.parse.failure.flag.duplicate_flag: "<red>Дубликат флага '<arg:0>'</red>"
argument.parse.failure.flag.no_flag_started: "<red>Не начат флаг. Неизвестно, что делать с '<arg:0>'</red>"
argument.parse.failure.flag.missing_argument: "<red>Отсутствует аргумент для '<arg:0>'</red>"
argument.parse.failure.flag.no_permission: "<red>У тебя нет прав на использование '<arg:0>'</red>"
argument.parse.failure.color: "<red>'<arg:0>' не является допустимым цветом</red>"
argument.parse.failure.duration: "<red>'<arg:0>' не является форматом длительности</red>"
argument.parse.failure.aggregate.missing: "<red>Отсутствует компонент '<arg:0>'</red>"
argument.parse.failure.aggregate.failure: "<red>Неверный компонент '<arg:0>': <arg:1></red>"
argument.parse.failure.either: "<red>Не удалось разрешить <arg:1> или <arg:2> из '<arg:0>'</red>"
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' не является именованным цветом текста</red>"
command.reload.success: "<white>Перезагружено. Заняло <green><arg:0></green> мс.</white>"
command.item.failure.not_exist: "<red>Предмет [<arg:0>] не существует.</red>"
command.item.give.success: "<white>Успешно выдано <arg:0> <arg:1>x <arg:2>.</white>"
command.item.get.success: "<white>Успешно получено <arg:0>x <arg:1>.</white>"
command.item.import.failure.no_item: "<red>Ты не можешь импортировать воздух</red>"
command.item.import.success: "<white>Предмет [<arg:0>] был сохранен в /plugins/CustomFishing/imported_items.yml</white>"
command.fish_finder.possible_loots: "<white>Возможные добычи здесь: <arg:0></white>"
command.fish_finder.no_loot: "<white>Добыча здесь не найдена</white>"
command.fish_finder.split_char: ", "
command.competition.failure.not_exist: "<red>Соревнование <arg:0> не существует.</red>"
command.competition.failure.no_competition: "<red>В настоящее время соревнований нет.</red>"
command.competition.stop.success: "<white>Текущее соревнование остановлено.</white>"
command.competition.end.success: "<white>Текущее соревнование завершено.</white>"
command.competition.start.success: "<white>Соревнование началось.</white>"
command.bag.edit.failure.unsafe: "<red>Невозможно редактировать рыболовную сумку игрока, если он активен на другом связанном сервере.</red>"
command.bag.edit.failure.never_played: "<red>Игрок никогда не заходил на сервер. Невозможно изменить рыболовную сумку несуществующего игрока.</red>"
command.bag.open.success: "<white>Успешно открыта рыболовная сумка для <arg:0></white>"
command.bag.open.failure.not_loaded: "<red>Не удалось открыть рынок для <arg:0>, так как данные не загружены</red>"
command.data.failure.not_loaded: "<red>Данные не загружены. Пожалуйста, зайди на сервер снова. Если проблема сохранится, свяжись с администратором сервера.</red>"
command.market.open.success: "<white>Успешно открыт интерфейс рынка для <arg:0></white>"
command.market.open.failure.not_loaded: "<red>Не удалось открыть рынок для <arg:0>, так как данные не загружены</red>"
command.data.unlock.success: "<white>Успешно разблокированы данные для <arg:0></white>"
command.data.import.failure.not_exists: "<red>Этот файл не существует</red>"
command.data.import.failure.invalid_file: "<red>Этот файл недействителен</red>"
command.data.import.failure.player_online: "<red>Пожалуйста, выгони всех онлайн игроков перед использованием этой команды</red>"
command.data.import.start: "<white>Импорт...</white>"
command.data.import.progress: "<white>Прогресс: <arg:0>/<arg:1></white>"
command.data.import.success: "<white>Данные успешно импортированы</white>"
command.data.export.failure.player_online: "<red>Пожалуйста, выгони всех онлайн игроков перед использованием этой команды</red>"
command.data.export.start: "<white>Экспорт...</white>"
command.data.export.progress: "<white>Прогресс: <arg:0>/<arg:1></white>"
command.data.export.success: "<white>Данные успешно экспортированы</white>"
command.statistics.failure.not_loaded: "<red>Данные для этого игрока не загружены</red>"
command.statistics.failure.unsupported: "<red>Операция не поддерживается</red>"
command.statistics.modify.success: "<white>Успешно изменена статистика рыбалки для <arg:0></white>"
command.statistics.reset.success: "<white>Успешно сброшена статистика рыбалки для <arg:0></white>"
command.statistics.query.size: "<white>Максимальные размеры: <arg:0></white>"
command.statistics.query.amount: "<white>Количество пойманной рыбы: <arg:0></white>"
command.debug.loot.failure.rod: "<red>Пожалуйста, держи в руках удочку перед использованием этой команды</red>"
command.debug.loot.failure.no_loot: "<red>Нет доступной добычи</red>"
command.debug.loot.success: "<yellow><b>Доступные добычи:</b></yellow> <arg:0>"
competition.no_score: "Нет счета"
competition.no_player: "Нет игрока"
competition.no_rank: "Нет ранга"
competition.goal.catch_amount: "Количество пойманной рыбы"
competition.goal.max_size: "Наибольшая пойманная рыба"
competition.goal.min_size: "Наименьшая пойманная рыба"
competition.goal.total_score: "Суммарный счет пойманной рыбы"
competition.goal.total_size: "Общая длина пойманной рыбы"
format.day: "д"
format.hour: "ч"
format.minute: "м"
format.second: "с"

View File

@@ -0,0 +1,94 @@
# Translated into Ukrainian by a team of enthusiasts: mrbear25, mihayrus and kefu
# Don't change this
config-version: "33"
exception.invalid_syntax: "<red>Неправильний синтаксис. Правильний синтаксис: <white><arg:0></white></red>"
exception.invalid_argument: "<red>Неправильний аргумент. Причина: <white><arg:0></white></red>"
exception.invalid_sender: "<red><arg:0> не допускається для виконання цієї команди. Має бути типу <arg:1></red>"
exception.unexpected: "<red>Під час спроби виконати цю команду сталася внутрішня помилка</red>"
exception.no_permission: "<red>Вибачте, але у вас немає дозволу на виконання цієї команди</red>"
exception.no_such_command: "Невідома команда."
argument.entity.notfound.player: "<red><lang:argument.entity.notfound.player></red>"
argument.entity.notfound.entity: "<red><lang:argument.entity.notfound.entity></red>"
argument.parse.failure.time: "<red>'<arg:0>' не є дійсним форматом часу</red>"
argument.parse.failure.material: "<red>'<arg:0>' не є дійсною назвою матеріалу</red>"
argument.parse.failure.enchantment: "<red>'<arg:0>' не є дійсним зачаруванням</red>"
argument.parse.failure.offlineplayer: "<red>Не знайдено жодного гравця для введення '<arg:0>'</red>"
argument.parse.failure.player: "<red>Не знайдено жодного гравця для введення '<arg:0>'</red>"
argument.parse.failure.world: "<red>'<arg:0>' не є дійсним світом Minecraft</red>"
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' не є дійсною локацією. Необхідний формат '<arg:1> <arg:2> <arg:3></red>"
argument.parse.failure.location.mixed_local_absolute: "<red>Не можна змішувати локальні та абсолютні координати. (або всі координати використовують '^', або жодна)</red>"
argument.parse.failure.namespacedkey.namespace: "<red>Неправильний простір імен '<arg:0>'. Має бути [a-z0-9._-]</red>"
argument.parse.failure.namespacedkey.key: "<red>Неправильний ключ '<arg:0>'. Повинно бути [a-z0-9/._-]</red>"
argument.parse.failure.namespacedkey.need_namespace: "<red>Неправильне введення '<arg:0>', потрібен явний простір імен</red>"
argument.parse.failure.boolean: "<red>Не вдалося розібрати булевий вираз з '<arg:0>'</red>"
argument.parse.failure.number: "<red>'<arg:0>' не є допустимим числом у діапазоні від <arg:1> до <arg:2></red>"
argument.parse.failure.char: "<red>'<arg:0>' не є дійсним символом</red>"
argument.parse.failure.string: "<red>'<arg:0>' не є допустимим рядком типу <arg:1></red>"
argument.parse.failure.uuid: "<red>'<arg:0>' не є дійсним UUID</red>"
argument.parse.failure.enum: "<red>'<arg:0>' не є одним з наступних: <arg:1></red>"
argument.parse.failure.regex: "<red>'<arg:0>' не збігається з '<arg:1>'</red>"
argument.parse.failure.flag.unknown: "<red>Невідомий прапор '<arg:0>'</red>"
argument.parse.failure.flag.duplicate_flag: "<red>Дублювання прапора '<arg:0>'</red>"
argument.parse.failure.flag.no_flag_started: "<red>Прапор не запущено. Не знаємо, що робити з '<arg:0>'</red>"
argument.parse.failure.flag.missing_argument: "<red>Відсутній аргумент для '<arg:0>'</red>"
argument.parse.failure.flag.no_permission: "<red>Недостатньо прав, щоб використовувати '<arg:0>'</red>"
argument.parse.failure.color: "<red>'<arg:0>' не є дійсним кольором</red>"
argument.parse.failure.duration: "<red>'<arg:0>' не є форматом тривалості</red>"
argument.parse.failure.aggregate.missing: "<red>Відсутній компонент '<arg:0>'</red>"
argument.parse.failure.aggregate.failure: "<red>Недійсний компонент '<arg:0>': <arg:1></red>"
argument.parse.failure.either: "<red>Не вдалося вирішити <arg:1> або <arg:2> від '<arg:0>'</red>"
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' не є названим кольором тексту</red>"
command.reload.success: "<white>Перезавантажено. Зайняло <green><arg:0></green> мс.</white>"
command.item.failure.not_exist: "<red>Елемент [<arg:0>] не існує.</red>"
command.item.give.success: "<white>Успішно надано <arg:0> <arg:1>x <arg:2>.</white>"
command.item.get.success: "<white>Успішно отримано <arg:0>x <arg:1>.</white>"
command.item.import.failure.no_item: "<red>Неможливо імпортувати повітря</red>"
command.item.import.success: "<white>Предмет [<arg:0>] було збережено у /plugins/CustomFishing/imported_items.yml</white>"
command.fish_finder.possible_loots: "<white>Можливі нагороди тут: <arg:0></white>"
command.fish_finder.no_loot: "<white>Тут нічого не знайдено</white>"
command.fish_finder.split_char: ", "
command.competition.failure.not_exist: "<red>Змагання <arg:0> не існує.</red>"
command.competition.failure.no_competition: "<red>Нині не відбувається жодних змагань.</red>"
command.competition.stop.success: "<white>Поточне змагання зупинено.</white>"
command.competition.end.success: "<white>Поточне змагання завершено.</white>"
command.competition.start.success: "<white>Змагання розпочатно.</white>"
command.bag.edit.failure.unsafe: "<red>Не можна редагувати сумку для риболовлі гравця, якщо він активний на іншому пов'язаному сервері.</red>"
command.bag.edit.failure.never_played: "<red>Гравець раніше не приєднувався до сервера. Неможливо модифікувати відсутню сумку для риболовлі.</red>"
command.bag.open.success: "<white>Успішно відкрито рибальську сумку для <arg:0></white>"
command.bag.open.failure.not_loaded: "<red>Не вдалося відкрити ринок для <arg:0>, оскільки дані не завантажені</red>"
command.data.failure.not_loaded: "<red>Дані не були завантажені. Будь ласка, знову увійдіть на сервер. Якщо проблеми продовжуються, зверніться до адміністратора сервера.</red>"
command.market.open.success: "<white>Успішно відкрито графічний інтерфейс ринку для <arg:0></white>"
command.market.open.failure.not_loaded: "<red>Не вдалося відкрити ринок для <arg:0>, оскільки дані не завантажені</red>"
command.data.unlock.success: "<white>Успішно розблоковані дані для <arg:0></white>"
command.data.import.failure.not_exists: "<red>Цього файлу не існує</red>"
command.data.import.failure.invalid_file: "<red>Цей файл недійсний</red>"
command.data.import.failure.player_online: "<red>Будь ласка, кікніть усіх гравців перед використанням цієї команди</red>"
command.data.import.start: "<white>Імпортування...</white>"
command.data.import.progress: "<white>Прогрес: <arg:0>/<arg:1></white>"
command.data.import.success: "<white>Дані успішно імпортовано</white>"
command.data.export.failure.player_online: "<red>Будь ласка, кікніть усіх гравців перед використанням цієї команди</red>"
command.data.export.start: "<white>Експортування...</white>"
command.data.export.progress: "<white>Прогрес: <arg:0>/<arg:1></white>"
command.data.export.success: "<white>Дані успішно експортовано</white>"
command.statistics.failure.not_loaded: "<red>Дані не були завантажені для цього гравця</red>"
command.statistics.failure.unsupported: "<red>Непідтримувана операція</red>"
command.statistics.modify.success: "<white>Успішно змінено статистику риболовлі для <arg:0></white>"
command.statistics.reset.success: "<white>Успішно скинуто статистику риболовлі для <arg:0></white>"
command.statistics.query.size: "<white>Максимальні розміри: <arg:0></white>"
command.statistics.query.amount: "<white>Кількість спійманої риби: <arg:0></white>"
command.debug.loot.failure.rod: "<red>Будь ласка, тримайте вудку для риболовлі, щоб використати цю команду</red>"
command.debug.loot.failure.no_loot: "<red>Немає доступних нагород</red>"
command.debug.loot.success: "<yellow><b>Доступні нагороди:</b></yellow> <arg:0>"
competition.no_score: "Без балів"
competition.no_player: "Гравець відсутній"
competition.no_rank: "Ранг відсутній"
competition.goal.catch_amount: "Кількість спійманих риб"
competition.goal.max_size: "Найбільша спіймана риба"
competition.goal.min_size: "Найменша спіймана риба"
competition.goal.total_score: "Сумарна кількість спійманих риб"
competition.goal.total_size: "Загальна довжина спійманих риб"
format.day: "д"
format.hour: "г"
format.minute: "х"
format.second: "с"

View File

@@ -0,0 +1,92 @@
# 别动这个
config-version: "33"
exception.invalid_syntax: "<red>无效语法. 正确语法:<white><arg:0></white></red>"
exception.invalid_argument: "<red>无效参数. 原因:<white><arg:0></white></red>"
exception.invalid_sender: "<red><arg:0> 不允许执行该命令. 执行者必须是 <arg:1></red>"
exception.unexpected: "<red>执行该命令时发生内部错误</red>"
exception.no_permission: "<red>抱歉, 您没有权限执行该命令</red>"
exception.no_such_command: "未知命令"
argument.entity.notfound.player: "<red>找不到玩家 '<arg:0>'</red>"
argument.entity.notfound.entity: "<red>找不到实体 '<arg:0>'</red>"
argument.parse.failure.time: "<red>'<arg:0>' 不是有效的时间格式</red>"
argument.parse.failure.material: "<red>'<arg:0>' 不是有效的材料</red>"
argument.parse.failure.enchantment: "<red>'<arg:0>' 不是有效的魔咒</red>"
argument.parse.failure.offlineplayer: "<red>输入的玩家 '<arg:0>' 已离线</red>"
argument.parse.failure.player: "<red>找不到输入的玩家 '<arg:0>'</red>"
argument.parse.failure.world: "<red>'<arg:0>' 不是有效的 Minecraft 世界名称</red>"
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' 不是有效的位置格式.必须格式为 '<arg:1> <arg:2> <arg:3>'</red>"
argument.parse.failure.location.mixed_local_absolute: "<red>不能混用相对和绝对坐标.坐标要么全部使用 '^',要么全部不用</red>"
argument.parse.failure.namespacedkey.namespace: "<red>无效的命名空间 '<arg:0>'.必须为 [a-z0-9._-]</red>"
argument.parse.failure.namespacedkey.key: "<red>无效的键 '<arg:0>'.必须为 [a-z0-9/._-]</red>"
argument.parse.failure.namespacedkey.need_namespace: "<red>无效的输入 '<arg:0>', 需要显式指定命名空间</red>"
argument.parse.failure.boolean: "<red>无法解析布尔值 '<arg:0>'</red>"
argument.parse.failure.number: "<red>'<arg:0>' 不是从 <arg:1> 到 <arg:2> 范围内的有效数字</red>"
argument.parse.failure.char: "<red>'<arg:0>' 不是有效的字符</red>"
argument.parse.failure.string: "<red>'<arg:0>' 不是类型为 <arg:1> 的有效字符串</red>"
argument.parse.failure.uuid: "<red>'<arg:0>' 不是有效的 UUID</red>"
argument.parse.failure.enum: "<red>'<arg:0>' 不是以下任何一种情况之一: <arg:1></red>"
argument.parse.failure.regex: "<red>'<arg:0>' 不匹配 '<arg:1>'</red>"
argument.parse.failure.flag.unknown: "<red>未知标志 '<arg:0>'</red>"
argument.parse.failure.flag.duplicate_flag: "<red>重复的标志 '<arg:0>'</red>"
argument.parse.failure.flag.no_flag_started: "<red>没有开始标志. 不知道如何处理 '<arg:0>'</red>"
argument.parse.failure.flag.missing_argument: "<red>缺少 '<arg:0>' 参数</red>"
argument.parse.failure.flag.no_permission: "<red>您没有权限使用 '<arg:0>'</red>"
argument.parse.failure.color: "<red>'<arg:0>' 不是有效的颜色</red>"
argument.parse.failure.duration: "<red>'<arg:0>' 不是有效的持续时间格式</red>"
argument.parse.failure.aggregate.missing: "<red>缺少组件 '<arg:0>'</red>"
argument.parse.failure.aggregate.failure: "<red>无效的组件 '<arg:0>': <arg:1></red>"
argument.parse.failure.either: "<red>无法从 '<arg:0>' 解析 <arg:1> 或 <arg:2></red>"
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' 不是颜色代码</red>"
command.reload.success: "<white>重新加载完成.耗时 <green><arg:0></green> 毫秒</white><newline><green><click:open_url:https://github.com/jhqwqmc>译者jhqwqmc</click></green>"
command.item.failure.not_exist: "<red>物品 [<arg:0>] 不存在</red>"
command.item.give.success: "<white>成功给予 <arg:0> <arg:1> 个 <arg:2></white>"
command.item.get.success: "<white>成功获得 <arg:0> 个 <arg:1></white>"
command.item.import.failure.no_item: "<red>无法导入空气</red>"
command.item.import.success: "<white>物品 [<arg:0>] 已保存至 /plugins/CustomFishing/imported_items.yml</white>"
command.fish_finder.possible_loots: "<white>可以钓到的战利品: <arg:0></white>"
command.fish_finder.no_loot: "<white>这里钓不到任何东西</white>"
command.fish_finder.split_char: ", "
command.competition.failure.not_exist: "<red>比赛 <arg:0> 不存在</red>"
command.competition.failure.no_competition: "<red>当前没有正在进行的比赛</red>"
command.competition.stop.success: "<white>成功停止当前比赛</white>"
command.competition.end.success: "<white>成功结束当前比赛</white>"
command.competition.start.success: "<white>成功开始比赛</white>"
command.bag.edit.failure.unsafe: "<red>因为玩家在另一个链接的服务器上在线, 所以无法编辑他的鱼袋</red>"
command.bag.edit.failure.never_played: "<red>此玩家从未加入过该服务器. 无法修改不存在的玩家的鱼袋</red>"
command.bag.open.success: "<white>成功打开 <arg:0> 的鱼袋</white>"
command.bag.open.failure.not_loaded: "<red>由于数据未加载, 无法打开 <arg:0> 的市场</red>"
command.data.failure.not_loaded: "<red>数据尚未加载. 请重新进入服务器. 如果问题仍然存在, 请联系服务器管理员</red>"
command.market.open.success: "<white>成功为 <arg:0> 打开市场界面</white>"
command.market.open.failure.not_loaded: "<red>由于数据未加载, 无法为 <arg:0> 打开市场</red>"
command.data.unlock.success: "<white>成功解锁 <arg:0> 的数据</white>"
command.data.import.failure.not_exists: "<red>该文件不存在</red>"
command.data.import.failure.invalid_file: "<red>该文件无效</red>"
command.data.import.failure.player_online: "<red>请在使用此命令之前踢出所有在线玩家</red>"
command.data.import.start: "<white>正在导入...</white>"
command.data.import.progress: "<white>进度: <arg:0>/<arg:1></white>"
command.data.import.success: "<white>成功导入数据</white>"
command.data.export.failure.player_online: "<red>请在使用此命令之前踢出所有在线玩家</red>"
command.data.export.start: "<white>正在导出...</white>"
command.data.export.progress: "<white>进度: <arg:0>/<arg:1></white>"
command.data.export.success: "<white>成功导出数据</white>"
command.statistics.failure.not_loaded: "<red>未加载该玩家的数据</red>"
command.statistics.failure.unsupported: "<red>不支持的操作</red>"
command.statistics.modify.success: "<white>成功修改 <arg:0> 的钓鱼统计数据</white>"
command.statistics.reset.success: "<white>成功重置 <arg:0> 的钓鱼统计数据</white>"
command.statistics.query.size: "<white>最长的鱼的长度: <arg:0></white>"
command.statistics.query.amount: "<white>钓到鱼的数量: <arg:0></white>"
command.debug.loot.failure.rod: "<red>请手持鱼竿后再执行此命令</red>"
command.debug.loot.success: "<yellow><b>战利品概率表:</b></yellow> <arg:0>"
competition.no_score: "暂无得分"
competition.no_player: "暂无玩家"
competition.no_rank: "暂无排名"
competition.goal.catch_amount: "钓到鱼的数量"
competition.goal.max_size: "最长的鱼的长度"
competition.goal.min_size: "最短的鱼的长度"
competition.goal.total_score: "钓鱼得分"
competition.goal.total_size: "钓到鱼的总长度"
format.day: "天"
format.hour: "小时"
format.minute: "分钟"
format.second: "秒"