coreprotectgui-fabric-1.5.0+26.1.2.jar
Curse Maven Snippet
What's new
In English
1.5.0 — CoreProtect's commands, from a window
Until now the mod could only read what CoreProtect printed. Now it can send its commands too: lookup, rollback, restore and purge each get a form to fill in instead of a line to type. The interface is also complete in all twelve languages.
Added
- Forms for four commands — lookup, rollback, restore, purge. Six rows each: period, players, action, include, exclude, radius. Every row opens a window of its own, so nothing has to be typed. The command being built is shown underneath, exactly as it will be sent.
- The plugin's rules are checked before sending. If CoreProtect would refuse the command, the form says what is missing and the send button stays inactive. No more working out afterwards why a command came back empty.
- Templates — nineteen ready-made filter sets, kept separately for each command, plus any you save yourself.
- History — the last twenty commands each form actually sent. Load one and its filters come back.
- Groups of blocks — ores, wood, containers, doors, redstone, valuables and more, in one click. Membership comes from the game itself, so wood added by another mod is included without this one knowing about it.
- Non-player causes —
#creeper,#lava,#pistonand forty-three others, in the player picker, because that is where CoreProtect keeps them. - Output switches —
#count,#verbose,#rolledback,#restored. - Copy command, for the server console or your own chat line. It works even when the command is too long to send from the game, which is when it is most wanted.
- Undo, apply and clear preview in the admin menu, along with the inspector and "changes nearby". Apply runs for real what a preview showed you.
- Five keys, all unbound by default: the admin menu and each of the four forms.
- The radius is drawn in particles for three seconds when you choose one, so you can see what the command will cover before sending it.
- The period can be given as a moment — type
11:55:22, and a date if it was not today, and the mod works out how long ago that was.
Updated
- All twelve languages are complete — 232 new strings each for German, Spanish, French, Polish, Turkish, Japanese, Korean, Vietnamese and both Chinese scripts. The admin screens had been English and Ukrainian only.
- The help window is in your language, not the server's. CoreProtect answers
/co helpin whatever the server is set to, so a Chinese client could get Ukrainian rows under a Chinese title. - Logins and logouts are recognised in all fourteen languages CoreProtect speaks; twelve of them were being missed.
- A result asked for from a window opens as a table, instead of going past in chat behind the form. "Nothing found" and "you do not have permission" come up in a window too.
Fixed
- Every scrollbar can be dragged now — four of the five only looked as though they could.
- The new windows fit a small game window instead of running off the bottom of it.
- The right edge of a grid cell no longer selects the item below.
- Blocks and causes with no icon show their initials instead of an empty square.
- The search box no longer clears itself when you pick something.
- "Clear all" in both pickers, and "clear history", which could only ever ask and never clear.
Warnings
- A rollback changes the world. Everything in the menu that does asks twice. Use the preview button on the rollback and restore screens first — it shows you the result without touching anything, and "apply" then runs it for real.
- A purge deletes log entries for good and cannot be undone. CoreProtect will not purge anything from the last thirty days when the command comes from in game.
- Commands are limited to 256 characters, and that limit is the server's. Paper disconnects you for going over. Raise
maxCommandLengthin the config only if you know your own server takes more. A group too big to fit says so before you use it.
1.4.0 — reading and speaking every language CoreProtect touches
Two different things, both about language. The parser now reads CoreProtect's output correctly wherever it comes from -- all fourteen languages the plugin ships curated wording for, and every other language it only machine-translates. The window's own interface -- buttons, columns, messages -- now speaks twelve of those languages itself.
Reading: all fourteen curated languages, and whatever else the server is set to
- Thirteen languages added on top of English: German, Spanish, French, Japanese, Korean, Polish, Russian, Turkish, Tatar, Ukrainian, Vietnamese and both Chinese scripts -- every wording CoreProtect ships a
lang/*.ymlfor. Most were read off the file rather than translated by hand: its selectors line up positionally with English, soLOOKUP_BLOCK's first alternative is "placed" whatever the language calls it. - Japanese and Korean needed a second row shape, not more words. Both put the verb after the target --
{0}が{1}を{設置した|破壊した}-- so nothing a vocabulary could add would ever fit a pattern expecting the verb second. Row shapes for these two are compiled straight from CoreProtect's own templates, which is also what turned up two faults inko.yml: its container line prints the count and the item swapped (the plugin passes the amount second and the item third, but the template writes{2}before{1}-- both readings are compiled, so either order reads correctly), and its interaction line is missing a closing quote, which CoreProtect only strips in matched pairs, so a stray"reaches the player and the pattern expects it. Korean also gives storage the same word pair as containers, so a deposit and an addition are one word there; the container sense wins, as it already does for Russian and Chinese. - The time word may come before the time. German writes "vor 2.53/h" and Spanish "Hace 2.53/h", where most languages put it after; one pattern accepts either side, and no space at all, which is what Chinese and Japanese need. The unit glued to the number is read, not assumed. Thirteen of the fourteen files leave that as
/h-style Latin letters, but Simplified Chinese translates it to{分钟|小时|天}, so4.08小时前matched nothing until the unit became a vocabulary like the verbs. An unrecognised unit is admitted as unknown rather than guessed -- guessing would age an hours-old row as seconds on a server whose machine translation invents its own abbreviation. - Any other language CoreProtect is set to is read too -- just not word for word.
language:in CoreProtect's own config accepts any of the roughly hundred codes Google Translate covers, not only the fourteen curated ones. For the rest, the plugin callscoreprotect.net/translateon startup and caches whatever comes back, so a server set to a code with no curated file still gets real text in that language, machine quality. Those rows are read from the parts no translation touches: the number on the time stamp, the+/-tag and its colour -- the stamp itself is grey, not the row's white, a distinction the first cut of this got backwards and put the actor in the wrong column -- the amount, the English registry id, and the fact that the actor and the target are the only two runs the plugin highlights, always in that order. This gives who, what, how many, when and where; it is coarser on which action, since a green+with an amount reads as "added" whichever finer distinction it actually was. Tried only after every known wording has failed, so a language the mod already knows never loses precision to it. Tested against Czech, Greek, Hindi, Finnish and Hebrew rows -- a right-to-left language reads the same as any other. - Pagination reads without knowing the word for "page", once CoreProtect's own page-link commands are found on the line -- nothing else in a result block carries a clickable bare number, which is what makes reading the digits directly safe. Japanese also reads now on its own terms: it writes the page word after the numbers (
3/79 ページ目), leaving nothing in front to anchor on. - Rows are read the same way whether a line arrives as a styled component or as legacy
§-coded text, which is what a proxy in front of the server tends to send. - Also worth knowing:
LOOKUP_ENTITY_INTERACTIONandLOOKUP_ENTITY_SPAWNexist only in CoreProtect's English file, so shearing, leashing and spawning print in English on any server regardless of its language -- already read correctly, nothing missing.
Speaking: the interface itself, in twelve languages
295 strings each -- every button, column, tooltip and message -- for German, Spanish, French, Polish, Turkish, Vietnamese, Japanese, Korean and both Chinese scripts, beside the English and Ukrainian the window already had.
- Terminology comes from Minecraft's own language files, read off the game's assets rather than guessed, so the mod calls things what the game calls them. Several were not what one would reach for: Korean's inventory is 보관함, not 인벤토리; enchanting is 마법 부여; Traditional Chinese uses 儲物箱 for a chest where Simplified uses 箱子.
- Time wordings come from CoreProtect's own curated files for the same reason, except where those are archaic: it writes "evvel" in Turkish and "trước kia" in Vietnamese, and this window is its own text, so it says "önce" and "trước".
- Where CoreProtect's translators made a mistake, it is not copied. Its Turkish, Vietnamese and Traditional Chinese files render "Sign messages" as an imperative -- sign the messages -- when the word means the block. Those read "Tabela mesajları", "Tin nhắn trên bảng" and "告示牌訊息" here.
- Polish needed nothing in code: it takes the same one/few/many split already implemented for Ukrainian. The other eight have no plural morphology at all, so their three forms are identical.
The guide's fourteen pages are translated too, in all twelve interface languages -- 120 pages, on top of the 295 interface strings each. They stayed English at first: they are twelve thousand of the file's twenty-one thousand characters, and precise technical prose rather than interface text, so the rollback page's warning about which operations can duplicate items was worth getting right rather than getting done quickly. Grounded the same way as the interface strings -- Minecraft's own terminology for game concepts, CoreProtect's own wording for its own commands (Turkish and Vietnamese "rollback" is geri alma/hoàn tác, "restore" is geri yükleme/bỏ hoàn tác, straight from CoreProtect's own tr.yml and matching what this window already called them) -- and checked afterward: every # heading and the @row diagram marker survive translation unchanged in all 140 pages, and heading counts match English page for page.
Tatar's interface is not included. CoreProtect has a Tatar file because a Tatar speaker wrote it; the same is the right path here, and a machine guess at 295 strings is not.
LocalesTest guards all of it: no stray keys, no format string that lost its placeholder -- the one failure mode that actually throws -- no half-translated plural family, no untranslated interface string, and now no locale with some of the guide's fourteen pages translated and the rest not.
Fixed
- Water and lava now have an icon. Pouring a bucket is logged as placing that block, and neither has an item form, so the icon lookup came back empty. A liquid is now asked for its own bucket -- which the block itself knows -- so any modded fluid gets this too. Crops, fire, portals and the rest derive theirs from the block's own name where they can.
Українською
1.5.0 — команди CoreProtect із вікна
Досі мод умів лише читати те, що надрукував CoreProtect. Тепер він може й надсилати його команди: пошук, відкат, відновлення та очищення отримали форму для заповнення замість рядка для набору. А інтерфейс нарешті повний в усіх дванадцяти мовах.
Додано
- Форми для чотирьох команд — пошук, відкат, відновлення, очищення. По шість рядків: період, гравці, дія, включити, виключити, радіус. Кожен рядок відкриває власне вікно, тож набирати нічого не треба. Команда, яка збирається, показана внизу — рівно такою, якою піде.
- Правила плагіна перевіряються до надсилання. Якщо CoreProtect відхилив би команду, форма пише, чого бракує, а кнопка надсилання лишається сірою. Більше не доведеться здогадуватись, чому команда повернулась порожньою.
- Шаблони — дев'ятнадцять готових наборів фільтрів, окремо для кожної команди, плюс ваші власні.
- Історія — останні двадцять команд, які кожна форма справді надіслала. Завантажуєте одну — фільтри повертаються.
- Групи блоків — руди, деревина, сховища, двері, редстоун, цінності та інші, одним кліком. Склад береться з самої гри, тож деревина з іншого моду потрапляє в групу, хоч наш мод про той мод нічого не знає.
- Причини, які не є гравцями —
#creeper,#lava,#pistonі ще сорок три, у вікні вибору гравців, бо саме там їх тримає CoreProtect. - Перемикачі виводу —
#count,#verbose,#rolledback,#restored. - Копіювати команду — для консолі сервера або власного рядка чату. Працює навіть тоді, коли команда задовга, щоб надіслати її з гри, — саме тоді вона й потрібна найбільше.
- Скасувати, застосувати й прибрати перегляд — у меню, разом з інспектором і «що змінювали поруч». Застосування виконує по-справжньому те, що показав перегляд.
- П'ять клавіш, усі порожні за замовчуванням: меню та кожна з чотирьох форм.
- Радіус видно — обраний малюється частинками на три секунди, тож ви бачите, що саме захопить команда, ще до надсилання.
- Період можна задати моментом — вписуєте
11:55:22, і дату, якщо це було не сьогодні, а мод сам рахує, скільки часу минуло.
Оновлено
- Усі дванадцять мов повні — по 232 нові рядки для німецької, іспанської, французької, польської, турецької, японської, корейської, в'єтнамської та обох варіантів китайської. Адмінські вікна доти були лише англійською й українською.
- Вікно довідки — вашою мовою, а не серверною. CoreProtect відповідає на
/co helpтією мовою, яку налаштовано на сервері, тож китайський клієнт міг отримати українські рядки під китайським заголовком. - Входи й виходи розпізнаються всіма чотирнадцятьма мовами CoreProtect; дванадцять із них раніше пропускались.
- Результат, запитаний із вікна, відкривається таблицею, а не проходить чатом за формою. «Нічого не знайдено» та «немає прав» теж показуються вікном.
Виправлено
- Кожну смугу прокрутки тепер можна затиснути — чотири з п'яти лише виглядали так, ніби можна.
- Нові вікна вміщаються в мале вікно гри, а не тікають за його нижній край.
- Правий край комірки більше не обирає предмет, що нижче.
- Блоки й причини без іконки показують ініціали замість порожнього квадрата.
- Поле пошуку більше не стирається, коли щось обираєш.
- «Очистити все» в обох підбирачах і «очистити історію», яка доти вміла лише перепитати, але не очистити.
Попередження
- Відкат змінює світ. Усе в меню, що це робить, перепитує двічі. Спершу скористайтесь кнопкою перегляду на екранах відкату й відновлення — вона показує результат, нічого не чіпаючи, а «застосувати» потім виконує його по-справжньому.
- Очищення видаляє записи журналу назавжди, і скасувати це неможливо. CoreProtect не чистить нічого за останні тридцять днів, коли команда йде з гри.
- Команди обмежені 256 символами, і це обмеження сервера. Paper вибиває за перевищення. Піднімайте
maxCommandLengthу налаштуваннях, лише якщо знаєте, що ваш сервер приймає більше. Група, яка не влізе, каже про це заздалегідь.
1.4.0 — читає й говорить кожною мовою, якої торкається CoreProtect
Дві різні речі, і обидві про мову. Парсер тепер правильно читає вивід CoreProtect звідки б він не прийшов — усіма чотирнадцятьма мовами, для яких у плагіна є куруйоване формулювання, і будь-якою іншою, яку він лише перекладає машинно. Власний інтерфейс вікна — кнопки, колонки, повідомлення — тепер говорить дванадцятьма з цих мов сам.
Читання: усі чотирнадцять куруйованих мов, і все, на що поставлять сервер
- Додано тринадцять мов на додачу до англійської: німецьку, іспанську, французьку, японську, корейську, польську, російську, турецьку, татарську, українську, в'єтнамську та обидва варіанти китайської — усе формулювання, для якого в CoreProtect є
lang/*.yml. Здебільшого зчитане з файлу, а не перекладене: його селектори збігаються з англійськими позиційно, тож перший варіант уLOOKUP_BLOCK— це «placed», як би мова його не називала. - Японській і корейській бракувало не слів, а другої форми рядка. Обидві ставлять дієслово після об'єкта —
{0}が{1}を{設置した|破壊した}— тож жоден словник не підійшов би до форми, яка чекає дієслово другим. Форми рядків для цих двох компілюються напряму з власних шаблонів CoreProtect, і саме це виявило дві хиби вko.yml: його рядок контейнера друкує кількість і предмет місцями переставленими (плагін передає кількість другою, а предмет третім, але шаблон пише{2}перед{1}— скомпільовано обидва прочитання, тож будь-який порядок читається правильно), а рядок взаємодії не має закривної лапки, яку CoreProtect зрізає лише парами, — тож зайва"доходить до гравця, і форма її очікує. Корейська також дає сховищу ту саму пару слів, що й контейнеру, тож «поклав на зберігання» і «додав» там одне слово; перемагає значення контейнера, як уже було для російської та китайської. - Слово часу може стояти перед часом. Німецька пише «vor 2.53/h», іспанська «Hace 2.53/h», тоді як більшість ставить його після; один шаблон приймає обидві сторони й узагалі без пробілу, що потрібно китайській та японській. Суфікс, приклеєний до числа, читається, а не вгадується. Тринадцять із чотирнадцяти файлів лишають його латинськими літерами на кшталт
/h, а спрощена китайська перекладає його як{分钟|小时|天}, тож4.08小时前не збігалося ні з чим, поки суфікс не став словником, таким самим, як дієслова. Невідомий суфікс визнається невідомим, а не вгадується — вгадування зістарило б рядок віком у години як секунди на сервері, чия машинна мова вигадує власне скорочення. - Будь-яка інша мова, на яку поставлять CoreProtect, теж читається — просто не за словами.
language:у власному конфізі CoreProtect приймає будь-який із приблизно сотні кодів, які покриває Google Translate, а не лише чотирнадцять куруйованих. Для решти плагін звертається доcoreprotect.net/translateпід час запуску й кешує те, що прийде, — тож сервер, поставлений на код без куруйованого файлу, усе одно отримує справжній текст цією мовою, машинної якості. Такі рядки читаються з того, що переклад не змінює: числа в позначці часу, знака+/-та його кольору — сама позначка сіра, а не біла, як рядок, і перший варіант структурного читання переплутав це та поставив виконавця не в ту колонку — кількості, англійського ідентифікатора й того, що виконавець та об'єкт є єдиними двома підсвіченими відрізками рядка, завжди в цьому порядку. Це дає гравця, предмет, кількість, час і місце; дія виходить грубішою, бо зелений+із кількістю читається як «додав», якою б не була точна дія насправді. Спроба робиться лише після того, як усі відомі формулювання не підійшли, тож відома мод мові точності на цьому не втрачає. Перевірено на чеських, грецьких, гінді, фінських та івритських рядках — мова справа-наліво читається так само, як будь-яка інша. - Пагінація читається й без знання слова «сторінка», щойно на рядку знайдено власні команди переходу CoreProtect — ніщо інше в блоці результату не має клікабельного числа, і саме це робить пряме читання цифр безпечним. Японська тепер читається й на власних умовах: слово «сторінка» вона пише після чисел (
3/79 ページ目), тож попереду немає за що зачепитись. - Рядки читаються однаково, чи прийшло повідомлення як компонент зі стилями, чи як застарілий текст із кодами
§, — саме це зазвичай видає проксі перед сервером. - Ще варто знати:
LOOKUP_ENTITY_INTERACTIONіLOOKUP_ENTITY_SPAWNє лише в англійському файлі CoreProtect, тож стрижка, повідець і спавн друкуються англійською на будь-якому сервері, якою б мовою він не був, — уже читається правильно, нічого не бракує.
Говорить: власний інтерфейс, дванадцятьма мовами
По 295 рядків на мову — кожна кнопка, колонка, підказка й повідомлення — для німецької, іспанської, французької, польської, турецької, в'єтнамської, японської, корейської та обох варіантів китайської, на додачу до англійської й української, які вікно вже мало.
- Термінологія взята з мовних файлів самої Minecraft, зчитаних з ресурсів гри, а не вгаданих, — щоб мод називав речі так, як їх називає гра. Кілька виявились не тими, до яких тягнеться рука: корейський інвентар — це 보관함, а не 인벤토리; чари — 마법 부여; традиційна китайська кличе скриню 儲物箱 там, де спрощена каже 箱子.
- Формулювання часу взяті з власних куруйованих файлів CoreProtect з тієї ж причини — окрім тих, що застарілі: він пише «evvel» турецькою й «trước kia» в'єтнамською, а це вікно має власний текст, тож тут «önce» і «trước».
- Де перекладачі CoreProtect помилились, помилка не скопійована. Його турецький, в'єтнамський і традиційний китайський файли передають «Sign messages» як наказ — підпиши повідомлення — тоді як мова про табличку. Тут це «Tabela mesajları», «Tin nhắn trên bảng» і «告示牌訊息».
- Польська не потребувала жодного рядка коду: у неї той самий поділ one/few/many, що вже реалізований для української. Решта вісім не мають морфології множини взагалі, тож усі три форми в них однакові.
Чотирнадцять сторінок довідки тепер теж перекладені — усіма дванадцятьма мовами інтерфейсу, по 120 сторінок на додачу до 295 рядків інтерфейсу кожною мовою. Спершу вони лишались англійською навмисно: це дванадцять тисяч символів із двадцяти однієї тисячі, і це не текст інтерфейсу, а точна технічна проза — тож попередження на сторінці про відкати про те, які операції дублюють предмети, було варте того, щоб зробити правильно, а не швидко. Заземлено так само, як інтерфейс: власна термінологія Minecraft для ігрових понять, власне формулювання CoreProtect для його ж команд (турецькою й в'єтнамською «rollback» — це geri alma/hoàn tác, «restore» — geri yükleme/bỏ hoàn tác, прямо з власного tr.yml CoreProtect і збігається з тим, як це вікно вже їх називало) — і перевірено після: кожен заголовок # і позначка діаграми @row пережили переклад незмінними в усіх 140 сторінках, а кількість заголовків збігається з англійською сторінка в сторінку.
Татарського інтерфейсу немає. У CoreProtect є татарський файл тому, що його написав носій; тут правильний шлях той самий, а машинна догадка на 295 рядків — ні.
LocalesTest це охороняє: жодного зайвого ключа, жодного формату, що втратив підстановку (єдиний випадок, який справді кидає виняток), жодної напівперекладеної сім'ї множини, жодного неперекладеного рядка інтерфейсу — і тепер жодної локалі, де частина з чотирнадцяти сторінок довідки перекладена, а решта ні.
Виправлено
- У води й лави тепер є іконка. Вилите ведро логується як постановка того блоку, а в жодного з них немає предметної форми — тож пошук іконки повертав порожнє. Тепер у рідини питають її власне ведро, яке блок знає сам, тож і модові рідини це отримують. Посіви, вогонь, портали та решта виводять своє з назви блоку, де це можливо.
This mod has no additional files

