Skip to content

Release 3.14 PI#2916

Merged
tastybento merged 119 commits intomasterfrom
develop
Apr 10, 2026
Merged

Release 3.14 PI#2916
tastybento merged 119 commits intomasterfrom
develop

Conversation

@tastybento
Copy link
Copy Markdown
Member

No description provided.

tastybento and others added 30 commits April 4, 2026 10:51
Add new managers, SQLite database support, expanded hook integrations,
and bump version reference from 3.11.2 to 3.13.0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In 26.1.1, dimensions moved to dimensions/minecraft/<world>/ with no
DIM-1/DIM1 subfolders, and player data moved to <root>/players/data/.
Update path resolution to detect and support both old and new formats.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…em-purge-26.1.1

Support Minecraft 26.1.1 world file structure in region purge
… fix tag nesting in legacyToMiniMessage

Two issues fixed:
1. Panel item names and lore were rendered italic by default because
   Minecraft applies italic styling to item components. Now explicitly
   sets italic=false on the root component when not already set.

2. legacyToMiniMessage produced cross-nested tags when bold/decorations
   carried through a color code change without §r reset, causing closing
   tags like </bold> to appear as literal text. Now properly closes and
   reopens decoration tags around color changes to maintain valid nesting.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/f04f5542-587b-4770-917c-d7a22a86563c

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…ormat-issue

Fix MiniMessage formatting: default italic on panel items and cross-nested tags in legacyToMiniMessage
…s, and untranslated strings

Fixes Spanish text in general.beta, untranslated English in SPAWN_PROTECTION
and other keys, fish terminology misused for spawning, "media player" vs
"game player", broken MiniMessage tags (& instead of <green>), numerous
typos, and garbled machine-translated phrases throughout the file.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…gs, and untranslated strings

Fixes untranslated English in maxsize and SPAWN_PROTECTION sections,
nonsensical words (Firch, Unglaner, blauprint), broken legacy color
codes, du/Sie inconsistency, duplicated PETS_STAY_AT_HOME text in
VISITOR_KEEP_INVENTORY, wrong translations (Lösung/Spülen/Blockieren
Sie), and rewrites all garbled command-instruction entries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ags, and untranslated strings

Fixes untranslated English in maxsize, SPAWN_PROTECTION, and UI strings,
wrong translations (cerveza/beer for brewing stand, Pañuelo/handkerchief
for Crafter, Compuertas/floodgates for Composter, coral for Chorus,
invisibles for invencibles), broken legacy color codes, typos throughout,
an AI response left in conversation-prefix, and translated placeholders
that should remain as English tokens.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ns, typos, and untranslated strings

Fixes pervasive &un/&une broken legacy color codes throughout flag
descriptions, untranslated English in maxsize/SPAWN_PROTECTION/several
flag names, wrong translations (Automne/Autumn for Fall, Minerai for
Briquet, Tirants for Droppers, chœur for Chorus, Frappez for Expulsez),
reversed unban messages, AI response in conversation-prefix, translated
placeholders, missing 'B' in Bienvenue, and many other issues.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ags, and untranslated strings

- Translate untranslated English: maxsize section, SPAWN_PROTECTION flag,
  DRAGON_EGG description, FIRE_SPREAD description, catalog view descriptions,
  range description
- Fix broken legacy color codes: &-prefixed strings on not-in-team, unowned,
  use-switch, use-emptytrash replaced with MiniMessage tags
- Fix typos: rabngo->rango, opiati->Copiati, alvoro->lavoro,
  teletrasposrto->teletrasporto, smostra->mostra, Disbilitando->Disabilitando,
  disablitata->disabilitata, commando->comando, "is non è"->non è
- Fix wrong translations: DROWNING Affogare->Annegamento, THORNS Rami->Spine,
  STARVATION Carestia->Fame, FLY_INTO_WALL Vola->Impatto, FREEZE/KILL to nouns,
  Commissioni->Commit, Invalido->Non valido, "I animali"->"Gli animali",
  "sovrascrivi noci"->"sovrascrive i Secchi"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…es and typos

- Translate untranslated maxsize section (parameters, description, success, reset)
- Translate SPAWN_PROTECTION flag (name and description)
- Fix broken legacy color codes: '& c', '& 7', '& a', '&' replaced with MiniMessage tags
- Fix DamageCause mistranslations: FALL 가을->낙하, CONTACT 연락처->접촉,
  DRYOUT 드라이터->건조, CRAMMING 크래밍->밀착
- Fix LOOM broken tag in name, FLOWER_POT/SUFFOCATION remove English in brackets
- Fix TRAPPED_CHEST 감금된->함정, BARREL 통 합->통, GRINDSTONE hint typo
- Fix typos: 섬위->섬의, 답승->탑승, 프기->퍼기, 플수->퍼올 수, 흭득->획득
- Remove leftover English 'or' in emptytrash description
- Fix NATURAL_SPAWNING_OUTSIDE_RANGE and PREVENT_TELEPORT_WHEN_FALLING
  broken '&' color code lines with proper MiniMessage tags
- Fix reload warning broken '& c' color code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… mistranslations

- Translate untranslated English in maxsize and SPAWN_PROTECTION sections
- Fix "Hollandia" (Netherlands) -> "Pokol" (Nether) for Minecraft Nether
- Fix "lejátszó" (media player) -> "játékos" (player) throughout
- Fix "ivadék/ívás" (offspring/fish spawning) -> "spawn/megjelenés" for mob spawning
- Fix "mellkas" (body chest) -> "láda" (chest container) for chest blocks
- Fix "Kúszónövény" (climbing plant) -> "Creeper" for Minecraft Creeper
- Fix "gyász" (mourning) -> "rombolás" (griefing) for grief protection
- Fix "csőcselék" (rabble) -> "mob" for entities
- Fix "Fáklyák" (Torches) -> "Jeladók" for Beacons
- Fix "Nem reklámozhatod" (can't advertise) -> "Nem léptetheted elő" (can't promote)
- Fix DamageCause values: FALL, VOID, MELTING, CONTACT, WITHER
- Fix unban messages that incorrectly said "banned" instead of "unbanned"
- Fix setowner success "nem" (not) -> "most" (now) the owner
- Fix "Overworl" typo -> "Overworld"
- Fix broken &védelem legacy color code in Creeper griefing
- Fix "fogyatékos/mozgáskorlátozott" (handicapped) -> "letiltva" (disabled)
- Fix various item/entity terminology (Elem->Tárgy, Tétel->Tárgy)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…translations, broken tags, and placeholders

- Translate untranslated English in maxsize section and SPAWN_PROTECTION flag
- Fix broken legacy color codes (&ア, &ピ) in FLINT_AND_STEEL and HARVEST descriptions
- Fix translated placeholders ([番号],[名前],[合計]) back to English ([number],[name],[total])
- Fix mistranslations: 成否->成功 (success), 生協->協力者 (coop rank), 産卵->スポーン (spawn),
  無効->奈落 (VOID DamageCause), 一夜漬け->押し潰し (CRAMMING), 世界国境->ワールドボーダー,
  衝突->接触ダメージ (CONTACT), 終わり->ジ・エンド (the-end), ウーバーイーツ->ウーパールーパー
- Fix WITHER_DAMAGE name from generic 許可/禁止 to ウィザーダメージの切り替え
- Fix Copper Golem left untranslated in ALLAY flag
- Fix CRAFTER hint left in English
- Translate reset-to-default panel name
- Fix missing <green> tags on OFFLINE_REDSTONE, VISITOR_KEEP_INVENTORY, ENTITY_PORTAL_TELEPORT
- Fix 所有->未所有 (unowned), stray space in 訪問 者, various 協同組合/生協 references
- Fix ITEM_FRAME description with missing tag and untranslated Toggle

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…d fix typo

- Translate `maxsize` section (description, success, reset messages)
- Translate `SPAWN_PROTECTION` flag name and description
- Translate "Placeholder Browser" panel titles to "Браузер замінників"
- Fix WITHER_DAMAGE: "вітер-скелета/вітери" (means "wind") to "візера/візери" (correct Minecraft transliteration)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ntranslated strings

- Translate untranslated English strings: maxsize section, SPAWN_PROTECTION flag
- Fix conversation-prefix containing AI response text, replaced with '>'
- Fix 12 broken '&' legacy color codes to proper <green> MiniMessage tags
- Fix broken [description] placeholder layout entries (<italic>pis]</italic>)
- Fix 12+ translated placeholders that must stay English: [opis]->[description],
  [datum]->[date], [poruka]->[message], [sekundi]->[seconds], [postavka]->[setting],
  [redak]->[line], [prikaz]->[display], [tema]->[topic], [instaliraj]->[install],
  [vrijeme]->[time], [svijetu]->[world], [ime_svijeta]->[world_name], etc.
- Fix wrong translations: "mrijest" (fish spawning) -> "spawn"/"pojavljivanje" for
  spawn points and mob spawning, "Kavez" (cage) -> "Suradnik" for coop rank,
  "Rafter" -> "Crafter", "Zbor voće" (choir fruit) -> "Chorus voće",
  "prsni koš" (ribcage) -> "škrinja" for chest damage, "greben" (reef) -> "Wither",
  "Krajman" -> "Enderman", "mafija" -> "entitet", "metla" (broom) -> "zamah" (sweep)
- Fix DamageCause enums: VOID "Poništiti" -> "Praznina", WITHER "uvenuti" -> "Wither",
  ENTITY_ATTACK "Napad mafije" -> "Napad entiteta", BLOCK_EXPLOSION "Blokiraj" -> "Eksplozija bloka"
- Fix missing <green> tags on multi-line descriptions
- Fix "Seljanin ozlijeđen invalid" hint text

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…s, fix typos and placeholders

- Translate maxsize section (parameters, description, success, reset)
- Translate SPAWN_PROTECTION flag (name and description)
- Translate SETTING panel description from English
- Fix conversation-prefix from AI response to '>'
- Fix swapped next/previous panel labels
- Fix DamageCause FALL: "Outono" (Autumn) -> "Queda" (Fall damage)
- Fix DamageCause FLY_INTO_WALL: imperative -> noun form
- Translate DamageCause CRAMMING and SONIC_BOOM
- Fix PVP_OVERWORLD disabled message saying "Nether" instead of "Overworld"
- Fix translated placeholders: [nome]->[name], [ranking]->[rank], [descrição]->[description]
- Fix [prefix_Igreja]->[prefix_Island] and [mundo]->[world] in dimension-done
- Fix typos: jjogador, Prermitir, Resspawn, desatilitado, nescessária, mebro, dispoível
- Fix "desconfiança" (noun) to "remover confiança" (verb) in team-untrust command

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…s and wrong translations

- Translate maxsize section (was entirely English)
- Translate SPAWN_PROTECTION flag (was entirely English)
- Translate "Placeholder Browser" panel title
- Fix name-too-long saying "Too short / Minimum" instead of "Too long / Maximum"
- Fix purge completed message saying "cancelled" instead of "completed"
- Fix team.fix.done saying "Scan" instead of "Done"
- Fix [opis] translated placeholder back to [description]
- Fix "purgę" command typo and "Typ" to "Wpisz"
- Fix sink translated as "zlew" (kitchen sink) to "tonąć" (submerge)
- Fix FISH_SCOOPING: "Łowienie ryb" (fishing) to "Zbieranie ryb wiadrem" (scooping)
- Fix BREAK_HOPPERS: broken Polish ("zbijania ich hoppers") to proper translation
- Fix BREAK_SPAWNERS: "Złamać spawnerów" (infinitive) to "Łamanie spawnerów" (noun)
- Fix resetname description (was broken English word order)
- Fix locales description (was "locale[locale]" broken string)
- Fix DamageCause enums: WITHER (Zgniatacz->Wither), CUSTOM (Zwyczaj->Niestandardowe),
  FLY_INTO_WALL (Lecieć->Zderzenie), CRAMMING (untranslated), FREEZE (Zatrzymaj się->
  Zamrożenie), KILL (Zabij->Komenda /kill), SONIC_BOOM (untranslated->Fala Uderzeniowa)
- Fix Cyrillic "мыши" (Russian) to Polish "myszy" in invite GUI
- Fix all duplicate "jest jest" occurrences throughout the file
- Fix "zostało jest wyłączone" grammar in PVP disabled messages
- Fix PVP_OVERWORLD disabled message color from red to green

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…roken tags and wrong translations

- Translate untranslated English sections: maxsize command, SPAWN_PROTECTION flag
- Fix ~30 broken legacy color codes (&uma, &um, & c, etc.) replaced with proper MiniMessage <green> tags
- Fix conversation-prefix containing AI response, set to '>'
- Fix wrong translations: "Danos no peito" -> "Dano em baus" (chest damage),
  "Modo" -> "Moderador" (mod rank), "Estudando" -> "Aglomeracao" (CRAMMING),
  "Ataque da multidao" -> "Ataque de entidade" (ENTITY_ATTACK),
  "digitando" -> "entrando em" (now-entering), "Toxico" -> "Veneno" (POISON)
- Fix now-leaving-your-island showing "entering" instead of "leaving"
- Fix player-unbanned message saying "banido" (banned) instead of "desbanido"
- Fix typos: "BConstruindo" -> "Construindo", "seconds" -> "segundos"
- Fix stray ": c" in none-invited-you message
- Fix panel flag-item layouts (name-layout, description-layout, menu-layout,
  setting-layout) with corrupted [description]/[name] placeholders
- Fix compatibility state descriptions with broken version lines
- Fix [versao] placeholder to [version] to match expected placeholder name

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ings and fix errors

- Translate maxsize section (was entirely English)
- Translate SPAWN_PROTECTION flag name and description (was entirely English)
- Translate CRAFTER flag (was partially English: "Crafter访问禁用")
- Translate "Placeholder Browser" panel title
- Fix broken legacy color code: '&' prefix in setprotectionlocation confirmation
- Fix broken placeholder: [&prefix_island] -> [prefix_island] in tpuser
- Fix wrong translation: not-in-team said "在" (is in) instead of "不在" (is not in)
- Fix typo: "的都信息" -> "的岛屿信息" in admin info description
- Fix mistranslation: "奖金" (bonus money) -> "奖励" (bonus) for protection range bonus
- Fix '&退出' -> "'退出'" in blueprint name prompt and description instructions
- Clean up empty tag in blueprint sink status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rong translations

- Translate maxsize section from English to Latvian
- Translate SPAWN_PROTECTION flag from English to Latvian
- Fix DamageCause enums: CONTACT (was "Contact us"), FALL (was "Autumn"),
  VOID (was gibberish AI text), DRAGON_BREATH (was "Horse Breath"),
  FLY_INTO_WALL (imperative form), FREEZE (was food freezing),
  KILL (was imperative), SONIC_BOOM (was "bloom"), CRAMMING, DRYOUT,
  SUFFOCATION, POISON, ENTITY_SWEEP_ATTACK, and others
- Fix TRAPPED_CHEST (was "imprisoned furnaces" / "cups")
- Fix CANDLES hint (was "sandwiches")
- Fix CRAFTER hint (was offensive "invalīda")
- Fix WITHER_DAMAGE name (was just "Toggle")
- Fix PVP_NETHER messages (was "Netherlands" instead of Nether/Elles)
- Fix PVP_END typo "Biegu" -> "Beigu"
- Fix Frost Walker (was "Island Walker" - sala vs sals)
- Fix FLINT_AND_STEEL (was "Karms" - wrong word)
- Fix HURT_TAMED_ANIMALS name/hint
- Fix HURT_VILLAGERS duplicate word in hint
- Fix garbled language parameter [lвек] -> [valoda]
- Fix untranslated "Type" in purge regions confirm
- Fix sink translation (was "kitchen sink")
- Fix various typos: veiskmīgi, pieveinots, neveinas, skatitam,
  satusu, mēgīni, Pārslaigāt, Pārlēgt, tirogties, blokkus
- Fix Axolotl hint (was "melting")

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…s and broken formatting

- Translate maxsize section (was entirely English)
- Translate SPAWN_PROTECTION flag (was entirely English)
- Translate REMOVE_END_EXIT_ISLAND flag (was entirely English)
- Translate Placeholder Browser panel title
- Translate "Copper Golem" to "медный голем"
- Fix broken legacy color codes: &б -> <aqua>, &а -> <green>
- Fix broken tag: <underlined>bsp;c -> proper text
- Fix typos: Яйко->Яйцо, клинт->клик, сдеал->сделал, ИГрок->Игрок,
  НЕПОДДЕРЖИМЕМОЙ->НЕПОДДЕРЖИВАЕМОЙ, переключательно->переключатель,
  участников->участником
- Fix wrong translations: рекламировать->повысить (promote),
  раковина->погружаться (sink), антрестить->убрать доверие (untrust),
  Зубрёжка->Давка (CRAMMING), Соник Бум->Звуковой удар (SONIC_BOOM)
- Fix swapped messages in expel section
- Fix uncoop success message (was untranslated English)
- Fix already-on message (was copy of already-off)
- Fix purge status "of" -> "из"
- Fix "version." leftover in INCOMPATIBLE section
- Remove erroneous [Конце] brackets
- Fix DamageCause nouns: Заморозить->Замерзание, Убить->Убийство,
  Влететь в стену->Столкновение со стеной, Сушка->Высыхание

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rong translations

- Translate maxsize section and SPAWN_PROTECTION flag from English to Romanian
- Fix broken legacy color codes: &b, &a, &un, &r replaced with MiniMessage tags
- Restore translated placeholders to English: [număr]->[number], [nume]->[name],
  [proprietar]->[owner], [data]->[date], [gama]->[range], [interval]->[range],
  [lume]->[world], [secunde]->[seconds], [modul de joc]->[gamemode],
  [clasament]->[rank], [linie]->[line], [mesaj]->[message], [descriere]->[description],
  [autori]->[authors], [selectat]->[selected], [Numele]->[name]
- Fix wrong translations: "Olanda" (Netherlands) -> "Nether", "Toamna" (Autumn) ->
  "Cădere" (Fall), "Bucherie" -> "Înghesuire" (Cramming), "Ferestre" (Windows) ->
  "Pupitre" (Lecterns), "lutru" (otter) -> "pupitru" (lectern),
  "dezabona" (unsubscribe) -> "ridică interdicția" (unban),
  "reproducere" (reproduction) -> "spawn" where appropriate
- Fix unban messages that said "banned" instead of "unbanned"
- Fix missing [ bracket in name-layout, description-layout, menu-layout, setting-layout
- Fix stray "și 7" in last-seen layout and "și 2" in reload messages
- Fix deaths.set.success broken color tags and text
- Fix click-to-switch with broken [următor] placeholder -> [next]
- Fix range.remove.success broken "&b" tag
- Fix ENTER_EXIT_MESSAGES island placeholder

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…en tags and wrong translations

- Translate untranslated English: maxsize section, SPAWN_PROTECTION,
  VISITOR_KEEP_INVENTORY, WORLD_BLOCK_EXPLODE_DAMAGE, accept confirmation,
  cannot-switch, hint strings (jukebox, note block, portals, turtle eggs,
  frost walker), Placeholder Browser title, Commits label, catalog descriptions
- Fix broken color codes: '& 7'/'& c' -> MiniMessage tags, '&Yapıştırılıyor' -> proper tag
- Fix wrong translations: Görünmez (invisible) -> Yenilmez (invincible),
  Kulaklık (headphones) -> Tasma (leash), Kayış -> Tasma,
  Nakarat meyvesi -> Koro Meyvesi, Aşırı Dünya -> Üst Dünya (overworld),
  Sıkışmış göğüs -> Tuzaklı sandık (trapped chest), Kığırlaştırıcı -> Buz Yürüyücü,
  Duvara Yapışma -> Duvara Uçma, tanıtamazsın -> terfi ettiremezsin,
  Son Sayfa -> Sonraki Sayfa, [tamed animals] -> Evcil hayvanlara
- Fix typos: 9artık -> artık, iteşimie -> iletişime, teleporto -> teleport,
  Kullanım kullanımı -> Zanaatkar kullanımını aç/kapat
- Translate 'obtain dirt' leftover English in COARSE_DIRT_TILLING
- Translate 'Allowed for:' in flag panel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…and wrong translations

- Translate untranslated English: maxsize section, switch/switchto,
  setrange, tp, getrank, setrank, setspawn, setspawnpoint, settings,
  blueprint rename, delete, why debug, SPAWN_PROTECTION flag,
  max-homes, trash count, out-of-range, use-switch, too-long
- Remove AI response from perm-not-required ("Sure! Please provide...")
- Fix typos: thẩy->thấy, lời mồi->lời mời, Đống góp->Đóng góp,
  tương tắt->tương tác, đệ->để, Sát thường->Sát thương,
  đống góp->đóng góp
- Fix wrong translations: bồn rửa->chìm (sink as sinking),
  Hiện ra dệt->Khung dệt (Loom), Mài đá->Bệ mài (Grindstone),
  ám lực->áp lực (pressure), tủ ong->tổ ong (beehive),
  Thế Giới Địa Ngục->Thế Giới Kết Thúc (The End sethome context)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ngs, wrong translations, translated placeholders

- Fix ~50 broken legacy color codes (&sebuah, & satu, etc.) replaced with proper
  MiniMessage <green> tags across flag descriptions (CONTAINER, BLOCK_EXPLODE_DAMAGE,
  CLEAN_SUPER_FLAT, CREEPER_DAMAGE, ENDERMAN_DEATH_DROP, GEO_LIMIT_MOBS, HARVEST,
  PISTON_PUSH, TREES_GROWING_OUTSIDE_RANGE, WITHER_DAMAGE, etc.)
- Translate untranslated English: maxsize section, SPAWN_PROTECTION flag, Max homes
- Fix translated placeholders back to English: [nama]->[name], [angka]->[number],
  [deskripsi]->[description], [pengguna]->[user], [versi]->[version],
  [peringkat]->[rank], [pengaturan]->[setting], [berikutnya]->[next],
  [nama_dunia]->[world_name], [tambahan]->[addon], [dunia]->[worlds],
  [mode permainan]->[gamemode]
- Fix wrong translations: PVT->PVP, cat dasar->pemasangan sumbu (TNT priming),
  Buah paduan suara->Buah Chorus, gerbong->Hopper, Perapian->Tungku,
  Kebiasaan->Kustom, SKS->Kredit, Mengurung->Coop, Serangan Massa->Serangan Entitas,
  Batu Merah Luar Talian->Redstone Offline, Tempat pembuatan bir->ramuan,
  Kerusakan Dada->Kerusakan Peti, Bibit dilindungi->Spawn dilindungi
- Fix broken flag-item name-layout and contributor name from '&sebuah nama]' to
  proper '<green>[name]</green>'
- Fix broken reset-to-default description with truncated '<underlined>ilai bawaan'
- Fix dimension-done and see-console-for-status broken color codes
- Fix team fix done from '& Pemindaian' to proper tagged string

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ngs, fix wrong translations and broken tags

- Translate untranslated maxsize section and SPAWN_PROTECTION flag
- Translate reserved-island, Placeholder Browser, authors label
- Fix "球員" (sports player) to "玩家" (game player) throughout team GUI
- Fix "播放器" (media player) to "玩家" in blueprint times
- Fix "伊斯蘭國" (ISIS) machine translation error in purge too-many
- Fix "彎曲曲托" to "BentoBox" in perms description
- Fix "要騙子玩家" to "設為協作者" for coop command
- Fix wrong Minecraft item names: 磨石->砂輪, 打擊->切石機, 簽名編輯->告示牌編輯
- Translate Shulker/Enderman teleport, Crafter, Smithing, Loom, Grindstone flags
- Fix SONIC_BOOM DamageCause "聲音繁榮" to "音波衝擊"
- Fix broken MiniMessage tags: &但->gray tag, mismatched bold/color nesting
- Fix "b不支持的" typo in NOT_SUPPORTED compatibility message
- Fix command-instructions machine translations (雞舍, Demote, Unban, etc.)
- Fix various hint fields missing red formatting tags

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… untranslated strings

- Translate untranslated English sections (maxsize, SPAWN_PROTECTION)
- Fix translated placeholders back to English ([omschrijving]->[description],
  [bericht]->[message], [locatie]->[location], [onderwerp]->[topic],
  [installeren]->[install], [volgende]->[next], [wereld]->[world],
  [beschrijving]->[description], [prefix_eiland]->[prefix_island])
- Fix broken [name] placeholders (missing opening bracket in name-layout, credits)
- Fix broken legacy color codes: & b -> proper MiniMessage <aqua> tags
- Fix "Nederland" (The Netherlands) -> "de Nether" in 4 places
- Fix VOID "Ongeldig" (Invalid) -> "De Leegte" (The Void)
- Fix wrong translations: "kippenhok" (chicken coop) -> "coop-lid",
  "Borstschade" (breast damage) -> "Kistschade" (chest damage),
  "Koor fruit" -> "Chorusfruit", "Kladblok" (notepad) -> "Nootblok",
  "Paaien eieren" (fish spawning) -> "Spawn-eieren",
  "Troosten" (to comfort) -> "Console", "klimplant" (vine) -> "creeper",
  "schoft" (scoundrel) -> "wither", "Betrijp" -> "Verwond",
  "Blokkeer explosie" -> "Blokexplosie", "Verbindingen" -> "Bijdragen"
- Fix typos: "Teamaanmanagement" -> "Teambeheer", "verwijen" -> correct text
- Fix misleading translations: unban messages, banlist, rank name
- Remove errant ": c" from none-invited-you message
- Fix untranslated English words: "Found", "Island at", "Island is", "Player"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…gs, and untranslated strings

Fixes untranslated English in maxsize and SPAWN_PROTECTION sections,
nonsensical words (Firch, Unglaner, blauprint), broken legacy color
codes, du/Sie inconsistency, duplicated PETS_STAY_AT_HOME text in
VISITOR_KEEP_INVENTORY, wrong translations (Lösung/Spülen/Blockieren
Sie), and rewrites all garbled command-instruction entries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tastybento and others added 12 commits April 7, 2026 10:15
…erns, potion effects, etc.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/5e0b4734-f396-4418-9b39-4f67a244dd21

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
- Add beginDeferSaves()/endDeferSaves() to Island to batch flag changes
  into a single database save when the panel is closed
- Move click cooldown check from TabbedPanel to PanelListenerManager
  so it runs before click handlers and panel refresh
- TabbedPanel tracks refreshing state to distinguish true close from
  refresh close for deferred save handling
- Add tests for defer save mechanism and timeout check

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/4f416153-32a9-45a2-bc46-568b590c8266

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Conversation prompts were sending their text via User.sendRawMessage and
returning "" from getPromptText, which caused Bukkit's Conversation API
to print an empty line after the actual prompt. Return the legacy-coded
translation directly instead — Paper renders § codes correctly through
sendRawMessage, so the original workaround is no longer needed.

Reverts the prompt-rendering portion of 515a7f1 across all 9 prompt
classes (ConfirmPrompt, admin/blueprint NamePrompt, InviteNamePrompt,
Commands/Description/Name(Success)Prompt) and restores the matching
test assertions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ettings-buttons

Defer island saves until settings panel closes; apply click cooldown to all buttons
Fix #2919: extra blank line in confirmation conversation prompts
… data component API

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/d1d186bf-e269-47b1-bebc-d16b151d1ffc

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…able-attributes

Hide additional item tooltips (banner patterns, potion effects, etc.) in all panels using modern TooltipDisplay API
Filenames like `zh_CN.yml` (underscore instead of dash) parse to
`Locale.ROOT` via `Locale.forLanguageTag`, which has an empty language
and empty display name. When such a file ships in any addon's locales
folder, `reloadLanguages()` adds the ROOT entry to the shared languages
map, causing a blank slot to appear in the language selector panel
next to US English.

Skip these files in `loadLocalesFromFile` and log a warning naming the
offending file so addon authors can fix the tag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 75 out of 77 changed files in this pull request and generated 4 comments.

tastybento and others added 13 commits April 7, 2026 20:05
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The four tests that exercise the enabled path relied on the old default
of true. Explicitly enable pregen in each so they no longer depend on
the Settings default.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The existing spawnMythicMob overloads hard-coded a 40-tick
(2-second) delay before the actual spawn — added for blueprint-paste
callers so NMS-pasted blocks settle before mobs land on them.
Synchronous callers (e.g. AOneBlock's MythicMobCustomBlock) that
replace a single block via the Bukkit API have nothing to wait for,
so that delay is pure dead time in their path.

Add a 4-arg spawnMythicMob(record, location, Consumer, long) overload
that takes an explicit delayTicks parameter. delayTicks <= 0 runs the
spawn inline on the current tick; positive values still go through
runTaskLater. The existing 3-arg overload now delegates with 40L so
blueprint-paste behaviour is unchanged, and the 2-arg overload keeps
its existing chain.

This lets AOneBlock bosses appear on the same tick as the magic-block
break without affecting any other caller.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rable-delay

Make MythicMobsHook.spawnMythicMob delay configurable
The reload command was wiping every registered placeholder via
PlaceholderAPIHook.unregisterAll(), but only re-registered the
gamemode-default ones afterwards. Addons are not actually disabled by
reload, so addon-registered placeholders (e.g. %level_..._island_level%
from the Level addon) were left as orphaned, empty entries inside
cached AddonPlaceholderExpansion instances and silently stopped
resolving.

Narrow PlaceholderAPIHook.unregisterAll() to only clear the BentoBox
core expansion, add a targeted unregisterAll(Addon) overload, and have
BentoBoxReloadCommand clear only the gamemode addons it knows how to
rebuild.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Preserve addon placeholders across /bbox reload (#2930)
Clearing each gamemode's placeholders wiped out custom placeholders the
gamemode addon registered itself (e.g. AOneBlock's own %aoneblock_...%
placeholders), which registerDefaultPlaceholders does not rebuild.

registerDefaultPlaceholders is already idempotent — BasicPlaceholderExpansion
uses putIfAbsent, and registerFlagPlaceholder early-returns via isPlaceholder
— so running it without pre-clearing simply adds any missing entries and
leaves existing ones alone.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ad-followup

Don't clear gamemode addon placeholders on reload (#2930 follow-up)
The legacy locale hack of stripping one space after a color code (so
auto-translators wouldn't glue "&c" onto "Hello") was being applied
unconditionally, including after &r and after mid-text color transitions.
This ate inter-segment spaces in round-tripped MiniMessage — e.g.
"<gray>Page </gray><yellow>[page]</yellow><gray> of </gray>..." rendered
as "Page 1of 4" because componentToLegacy emits "§7Page §e1§7 of §e4"
and legacyToMiniMessage then stripped the space after the mid-text §7.

Restrict the strip to boundary positions only: start of string, after
whitespace, or immediately after another legacy code. Also skip §r in
all cases (it's a format terminator). Applied in legacyToMiniMessage,
replaceLegacyCodesInline, and stripSpaceAfterColorCodes.

BentoBoxWorld/AOneBlock#495

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Welcome sign lines sourced from locale files went through the legacy
setLine(String) API, so MiniMessage tags like <red>...</red> were
written verbatim. Parse each line with parseMiniMessageOrLegacy and
write via SignSide.line(int, Component) so both MiniMessage and legacy
color codes render correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 9, 2026

@tastybento tastybento merged commit 2dc791c into master Apr 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants