v1.2.4: Fix colors, add Russian locale, remove update checker
- Fixed HEX color format conversion (&#RRGGBB -> <#RRGGBB>) - Added full Russian translation (ru.yml) - Added ru.yml to auto-copy on first run - Removed UpdateChecker (old IP plugin remnant) - Fixed Config.getChildren() deep parameter bug - Updated plugin.yml version to use Gradle variable
This commit is contained in:
parent
8aeb547897
commit
56bf11822e
7 changed files with 267 additions and 57 deletions
|
|
@ -57,6 +57,9 @@ public class Strings {
|
|||
*/
|
||||
@NotNull
|
||||
public static String colour(@NotNull String string) {
|
||||
// Convert old hex format &#RRGGBB to MiniMessage format <#RRGGBB>
|
||||
string = string.replaceAll("&#([0-9A-Fa-f]{6})", "<#$1>");
|
||||
|
||||
Component component = MINI_MESSAGE.deserialize(string); // sanitize input
|
||||
|
||||
return ChatColor.translateAlternateColorCodes(LegacyComponentSerializer.SECTION_CHAR, LEGACY_COMPONENT_SERIALIZER.serialize(component));
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ import org.bstats.charts.SimplePie;
|
|||
import org.bstats.charts.SingleLineChart;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import dev.efnilite.vilib.util.Logging;
|
||||
import dev.efnilite.vilib.util.UpdateChecker;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -150,8 +149,6 @@ public final class LoParkour extends ViPlugin {
|
|||
ParkourUser.joinCount = 0;
|
||||
return joins;
|
||||
}));
|
||||
|
||||
UpdateChecker.check(this, 87226);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -187,7 +187,8 @@ public enum Config {
|
|||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
return new ArrayList<>(section.getKeys(deep != null));
|
||||
boolean isDeep = deep.length > 0 && deep[0];
|
||||
return new ArrayList<>(section.getKeys(isDeep));
|
||||
}
|
||||
|
||||
// checks if the specified path exists to avoid developer error
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public class Locales {
|
|||
// create non-existent files
|
||||
if (files != null && files.length == 0) {
|
||||
plugin.saveResource("locales/en.yml", false);
|
||||
plugin.saveResource("locales/ru.yml", false);
|
||||
plugin.saveResource("locales/nl.yml", false);
|
||||
plugin.saveResource("locales/fr.yml", false);
|
||||
plugin.saveResource("locales/zh_cn.yml", false);
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ public class Option {
|
|||
JUMP_TYPE_ENABLED = new HashMap<>();
|
||||
JUMP_TYPE_CHANCE = new HashMap<>();
|
||||
|
||||
for (String type : Config.CONFIG.getChildren("jump-types.types", false)) {
|
||||
for (String type : Config.CONFIG.getChildren("jump-types.types")) {
|
||||
String path = "jump-types.types." + type;
|
||||
JUMP_TYPE_ENABLED.put(type, Config.CONFIG.getBoolean(path + ".enabled"));
|
||||
JUMP_TYPE_CHANCE.put(type, Config.CONFIG.getDouble(path + ".chance"));
|
||||
|
|
|
|||
|
|
@ -1,51 +1,259 @@
|
|||
menu:
|
||||
main:
|
||||
title: "&#FF6464Главное меню"
|
||||
play: "�D4FFИграть"
|
||||
community: "&#FFD700Сообщество"
|
||||
settings: "&#A0A0A0Настройки"
|
||||
lobby: "ZEE90Лобби"
|
||||
quit: "&#FF4444Выход"
|
||||
|
||||
play:
|
||||
title: "�D4FFВыбор режима"
|
||||
single: "�FF00Одиночный"
|
||||
spectator: "&#FFFF00Наблюдатель"
|
||||
|
||||
settings:
|
||||
title: "&#A0A0A0Настройки"
|
||||
language: "&#FFFFFFЯзык"
|
||||
parkour: "�D4FFПаркур"
|
||||
chat: "ZEE90Чат"
|
||||
|
||||
parkour_settings:
|
||||
title: "�D4FFНастройки паркура"
|
||||
style: "&#FF6464Стиль блоков"
|
||||
leads: "&#FFD700Количество блоков"
|
||||
time: "&#A0A0A0Время"
|
||||
schematics: "�FFFFСхематики"
|
||||
scoreboard: "ZEE90Табло"
|
||||
fall_message: "&#FF4444Сообщение о падении"
|
||||
particles: "&#FFAAFFЧастицы"
|
||||
sound: "&#FFFFAAЗвук"
|
||||
special_blocks: "�D4FFСпециальные блоки"
|
||||
|
||||
community:
|
||||
title: "&#FFD700Сообщество"
|
||||
leaderboards: "�D4FFТаблица лидеров"
|
||||
|
||||
lobby:
|
||||
title: "ZEE90Лобби"
|
||||
visibility: "&#FFFFFFВидимость игроков"
|
||||
management: "&#A0A0A0Управление"
|
||||
# Русский (Russian, ru)
|
||||
# By loki
|
||||
# Материалы должны быть из: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
|
||||
# Узнать больше о цветах: https://docs.adventure.kyori.net/minimessage/format.html#format
|
||||
|
||||
messages:
|
||||
join: "�D4FFВы присоединились к паркуру!"
|
||||
leave: "&#FF6464Вы покинули паркур"
|
||||
fall: "&#FF4444Вы упали! Счет: %score%"
|
||||
score: "&#FFD700Новый рекорд: %score%!"
|
||||
no_permission: "&#FF4444У вас нет прав!"
|
||||
|
||||
commands:
|
||||
help: "�D4FF/loparkour &#FFFFFF- Главное меню"
|
||||
reload: "�D4FFКонфигурация перезагружена!"
|
||||
name: "Русский"
|
||||
|
||||
main:
|
||||
name: "&#FFFFFFПаркур"
|
||||
|
||||
play:
|
||||
name: "&#FFFFFFИграть"
|
||||
|
||||
item:
|
||||
material: "sugar_cane"
|
||||
name: "�D4FF<bold>Играть"
|
||||
lore: ""
|
||||
|
||||
single:
|
||||
name: "&#FFFFFFОдиночный"
|
||||
|
||||
item:
|
||||
material: "ender_pearl"
|
||||
name: "�D4FF<bold>Одиночная игра"
|
||||
lore: ""
|
||||
|
||||
default:
|
||||
material: "barrel"
|
||||
name: "�D4FF<bold>Обычный"
|
||||
lore: "񢩈Стандартный режим игры."
|
||||
|
||||
spectator:
|
||||
name: "&#FFFFFFНаблюдатель"
|
||||
|
||||
join: "�D4FFТеперь вы наблюдатель. Используйте \"/parkour\" чтобы выйти/сменить режим."
|
||||
action_bar: "�D4FFВы наблюдатель &#A0A0A0• �D4FFИспользуйте \"/parkour\" чтобы выйти."
|
||||
|
||||
other_join: "<dark_green><bold>+ <reset>&#A0A0A0%s начал наблюдать за вами"
|
||||
other_leave: "&#FF4444<bold>- <reset>&#A0A0A0%s перестал наблюдать за вами"
|
||||
|
||||
item:
|
||||
material: "glass"
|
||||
name: "�D4FF<bold>Наблюдатель"
|
||||
lore: ""
|
||||
|
||||
head:
|
||||
material: ""
|
||||
name: "�D4FF<bold>%s"
|
||||
lore: ""
|
||||
|
||||
community:
|
||||
name: "&#FFFFFFСообщество"
|
||||
|
||||
item:
|
||||
material: "oak_boat"
|
||||
name: "�D4FF<bold>Сообщество"
|
||||
lore: ""
|
||||
|
||||
leaderboards:
|
||||
name: "&#FFFFFFТаблица лидеров"
|
||||
|
||||
item:
|
||||
material: "gold_nugget"
|
||||
name: "�D4FF<bold>Таблица лидеров"
|
||||
lore: ""
|
||||
|
||||
sort:
|
||||
material: "bookshelf"
|
||||
name: "�D4FF<bold>Сортировка по %s"
|
||||
lore: ""
|
||||
values: ["счёту", "времени", "сложности"]
|
||||
|
||||
head:
|
||||
material: ""
|
||||
name: "�D4FF<bold>#%r - %p"
|
||||
lore: "�D4FFСчёт: &#A0A0A0%s||�D4FFВремя: &#A0A0A0%t||�D4FFСложность: &#A0A0A0%d񢩈/1.0"
|
||||
|
||||
settings:
|
||||
name: "&#FFFFFFНастройки"
|
||||
|
||||
item:
|
||||
material: "comparator"
|
||||
name: "�D4FF<bold>Настройки"
|
||||
lore: ""
|
||||
|
||||
lang:
|
||||
name: "&#FFFFFFЯзык"
|
||||
|
||||
item:
|
||||
material: "writable_book"
|
||||
name: "�D4FF<bold>Язык"
|
||||
lore: "񢩈Текущий: �D4FF<bold>%s"
|
||||
|
||||
chat:
|
||||
material: "crossbow"
|
||||
name: "�D4FF<bold>Чат"
|
||||
lore: "񢩈Текущий: �D4FF<bold>%s||񢩈Выберите с кем вы можете общаться"
|
||||
values: ["только лобби", "только игроки", "публичный"]
|
||||
|
||||
formats:
|
||||
lobby: "�D4FF(Лобби) �D4FF%s 񢩈> &#A0A0A0%s"
|
||||
players: "�D4FF(Игроки) �D4FF%s 񢩈> &#A0A0A0%s"
|
||||
|
||||
parkour_settings:
|
||||
|
||||
enabled: "�D4FF<bold>✔"
|
||||
disabled: "&#FF4444<bold>✘"
|
||||
|
||||
item:
|
||||
material: "redstone"
|
||||
name: "�D4FF<bold>Настройки паркура"
|
||||
lore: "񢩈Измените внешний вид вашего паркура."
|
||||
|
||||
items:
|
||||
|
||||
no_change:
|
||||
material: "barrier"
|
||||
name: "<dark_red><bold>Вы не можете изменить это сейчас!"
|
||||
lore: "&#A0A0A0У вас счёт больше 0,||&#A0A0A0поэтому вы не можете изменить эту настройку."
|
||||
|
||||
styles:
|
||||
name: "&#FFFFFFСтили"
|
||||
|
||||
style_item:
|
||||
material: ""
|
||||
name: "&#FFFFFF<bold>%s"
|
||||
lore: "�D4FFКатегория: &#A0A0A0%s"
|
||||
|
||||
item:
|
||||
material: "crafting_table"
|
||||
name: "�D4FF<bold>Стиль"
|
||||
lore: "�D4FFТекущий: &#A0A0A0%s||&#A0A0A0Выберите какие блоки будут использоваться."
|
||||
|
||||
leads:
|
||||
material: "feather"
|
||||
name: "�D4FF<bold>Дистанция"
|
||||
lore: "�D4FFТекущая: &#A0A0A0%s блоков||&#A0A0A0Сколько блоков будет||&#A0A0A0сгенерировано впереди вас."
|
||||
|
||||
time:
|
||||
material: "clock"
|
||||
name: "�D4FF<bold>Время"
|
||||
lore: "�D4FFТекущее: &#A0A0A0%s||&#A0A0A0Ваше текущее визуальное время."
|
||||
|
||||
schematics:
|
||||
material: ""
|
||||
name: "�D4FF<bold>Сложность схематик"
|
||||
lore: "�D4FFТекущая: &#A0A0A0%s||&#A0A0A0Сложность схематик"
|
||||
values: ["&#FF4444выкл", "�D4FFлёгкая", "<yellow>средняя", "�D4FFсложная", "<dark_red>очень сложная"]
|
||||
|
||||
scoreboard:
|
||||
material: ""
|
||||
name: "Показывать табло"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, показывает табло."
|
||||
|
||||
fall_message:
|
||||
item:
|
||||
material: ""
|
||||
name: "Показывать сообщение о падении"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, показывает сообщение при падении||&#A0A0A0с дополнительной информацией."
|
||||
|
||||
divider: "񢩈<strikethrough>-----------------------------------"
|
||||
score: "�D4FF<bold>Счёт <reset>&#FFFFFF%s"
|
||||
time: "�D4FF<bold>Время <reset>&#FFFFFF%s"
|
||||
high_score: "�D4FF<bold>Рекорд <reset>&#FFFFFF%s"
|
||||
|
||||
formats:
|
||||
miss: "&#A0A0A0Вы не дотянули до рекорда на %s очков!"
|
||||
beat: "&#A0A0A0Вы побили свой рекорд на %s очков!"
|
||||
tied: "&#A0A0A0Вы повторили свой рекорд!"
|
||||
|
||||
particles:
|
||||
material: ""
|
||||
name: "Показывать частицы"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, каждый сгенерированный блок||&#A0A0A0будет показывать частицы."
|
||||
|
||||
sound:
|
||||
material: ""
|
||||
name: "Воспроизводить звуки"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, каждый сгенерированный блок||&#A0A0A0будет воспроизводить звук."
|
||||
|
||||
special_blocks:
|
||||
material: ""
|
||||
name: "Использовать специальные блоки"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, использует специальные блоки||&#A0A0A0такие как лёд и плиты."
|
||||
|
||||
score_difficulty:
|
||||
material: ""
|
||||
name: "Сложность от счёта"
|
||||
lore: "&#A0A0A0Текущее: %s||&#A0A0A0Если включено, чем выше ваш счёт,||&#A0A0A0тем сложнее становится."
|
||||
|
||||
lobby:
|
||||
name: "&#FFFFFFЛобби"
|
||||
|
||||
other_join: '<dark_green><bold>+ <reset>&#A0A0A0%s присоединился к вашему лобби'
|
||||
other_leave: '&#FF4444<bold>- <reset>&#A0A0A0%s покинул ваше лобби'
|
||||
|
||||
item:
|
||||
material: "iron_ingot"
|
||||
name: "�D4FF<bold>Ваше лобби"
|
||||
lore: ""
|
||||
|
||||
visibility:
|
||||
material: "firework_rocket"
|
||||
name: "�D4FF<bold>Видимость"
|
||||
lore: "񢩈Текущая: �D4FF<bold>%s||񢩈Выберите кто может присоединиться к вашему лобби."
|
||||
values: ["приватное", "только по приглашению", "публичное"]
|
||||
|
||||
player_management:
|
||||
name: "&#FFFFFFУправление игроками"
|
||||
|
||||
kicked: "&#A0A0A0Вы были кикнуты из лобби владельцем."
|
||||
advice: "&#A0A0A0Установите видимость лобби на 'только по приглашению' или 'приватное' чтобы избежать случайных присоединений."
|
||||
muted: "&#A0A0A0Вы были замучены владельцем лобби."
|
||||
unmuted: "&#A0A0A0С вас сняли мут владелец лобби."
|
||||
|
||||
item:
|
||||
material: "cake"
|
||||
name: "�D4FF<bold>Управление игроками"
|
||||
lore: "񢩈Кикайте или мутьте игроков здесь."
|
||||
|
||||
head:
|
||||
material: ""
|
||||
name: "�D4FF<bold>%s"
|
||||
lore: ""
|
||||
top: "񢩈Замучен в лобби||"
|
||||
bottom: "�D4FFЛевый клик񢩈 чтобы кикнуть из лобби||�D4FFПравый клик񢩈 чтобы замутить/размутить в лобби"
|
||||
|
||||
scoreboard:
|
||||
|
||||
title: "�D4FF<bold>LoParkour"
|
||||
|
||||
lines:
|
||||
- "<blue>"
|
||||
- "�D4FFСчёт &#FFFFFF%score%"
|
||||
- "�D4FFВремя &#FFFFFF%time%"
|
||||
- "�D4FFРекорд &#FFFFFF%high_score%"
|
||||
- "&#FF4444"
|
||||
- "�D4FF<bold>server.ip"
|
||||
|
||||
other:
|
||||
|
||||
no_do: "&#A0A0A0Вы не можете сделать это сейчас."
|
||||
no_teleporting: "&#FFFFFFВы не можете войти в мир паркура телепортацией!"
|
||||
customize: "&#A0A0A0Настройте свой паркур используя \"/parkour\""
|
||||
|
||||
quit:
|
||||
material: "barrier"
|
||||
name: "�D4FF<bold>Выход"
|
||||
lore: ""
|
||||
|
||||
close:
|
||||
material: "arrow"
|
||||
name: "�D4FF<bold>Закрыть"
|
||||
lore: ""
|
||||
|
||||
iep:
|
||||
material: "elytra"
|
||||
name: "�D4FF<bold>Полёт"
|
||||
lore: "&#A0A0A0Паркур с элитрами!"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
name: 'LoParkour'
|
||||
description: 'Advanced infinitely generating parkour plugin.'
|
||||
author: loki
|
||||
version: 1.1.0
|
||||
api-version: 1.16
|
||||
version: ${version}
|
||||
api-version: 1.20
|
||||
main: dev.loki.loparkour.LoParkour
|
||||
softdepend: [floodgate, Vault, PlaceholderAPI, Multiverse-Core, VoidGen]
|
||||
commands:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue