Skip to content

Release 3.14 PI#2916

Open
tastybento wants to merge 86 commits intomasterfrom
develop
Open

Release 3.14 PI#2916
tastybento wants to merge 86 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>
Copilot AI and others added 20 commits April 5, 2026 22:03
…itle, subtitle, sound)

Support [actionbar], [title]/[subtitle], and [sound:name:volume:pitch] tags
in locale messages to control how messages are displayed to players.
Default behavior (chat) is unchanged when no tags are present.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/21e50d67-9ea0-4b84-a480-1acf200c05cc

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

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/21e50d67-9ea0-4b84-a480-1acf200c05cc

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…th backward compatibility

- Change BLUEPRINT_SUFFIX from '.blu' to '.blueprint' for new plain JSON format
- Add LEGACY_BLUEPRINT_SUFFIX constant for '.blu' backward compatibility
- Update BlueprintClipboardManager to save as plain JSON (no zipping)
- Update BlueprintClipboardManager to load .blueprint first, fall back to .blu
- Update BlueprintsManager to scan for both file formats when loading
- Update delete/rename operations to handle both formats
- Update admin commands (list, load, save, rename) to support both formats
- Update all tests for new format and add legacy backward compatibility tests

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/64819466-6133-4499-98b9-2d03490ea00e

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…ited-island-rank-placeholder

Add test coverage for `visited_island_rank` placeholder
…type-syntax

Add message delivery type tags for locale strings: actionbar, title/subtitle, sound
…tection flags

Creates a new tab in the Admin Settings panel (opened with /admin settings)
that allows admins to change the default protection flag rank values that
new islands will receive.

New classes:
- IslandDefaultCycleClick: Click handler that cycles default island
  protection flag ranks and saves to world settings
- IslandDefaultSettingsTab: Tab showing protection flags with their
  default rank values for new islands

Changes:
- AdminSettingsCommand: Added tab 3 with IslandDefaultSettingsTab
- TestWorldSettings: Added mutable defaultIslandFlagNames map
- en-US.yml: Added ISLAND_DEFAULTS locale strings

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/aab884c0-0f55-4fa7-bc57-6d52f03a5992

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…d-protection-tab

Add Island Defaults tab to Admin Settings GUI for editing default protection flags
…eprint-text-files

Switch blueprints from zipped .blu to plain JSON .blueprint format
Register placeholders for each flag (protection, setting, world setting)
so users can query flag states via PlaceholderAPI. For example:
- %bskyblock_flag_pvp_overworld% returns true/false
- %bskyblock_flag_break_blocks% returns the minimum allowed rank name
- %bskyblock_flag_ender_chest% returns true/false

Built-in flags get placeholders when registerDefaultPlaceholders() runs.
Addon-defined flags get placeholders dynamically when registered.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/5b7af0c7-302d-4943-bb55-7383a22040ae

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
When obsidian forms from lava/water interaction and is solitary (could be
scooped), a TextDisplay hologram is shown above the block for a configurable
duration. The hologram uses MiniMessage locale text from the OBSIDIAN_SCOOPING
section.

- Add obsidian-scooping-lava-tip-duration setting (default 30s, 0 disables)
- Add lavaTip locale entry in en-US.yml
- Add BlockFormEvent handler in ObsidianScoopingListener
- Add hologram placement logic (above, sides, below preference)
- Schedule hologram removal after configured duration
- Add comprehensive tests for new functionality

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/9e56595b-e55a-4b06-a281-117940895a89

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Address code review feedback to avoid calling BentoBox.getInstance()
multiple times within handleObsidianForm method.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/9e56595b-e55a-4b06-a281-117940895a89

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…for-flag-state

Add placeholders for flag state (enabled/disabled)
…fication-for-obsidian

Add lava tip hologram when scoopable obsidian forms
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

This PR rolls forward multiple gameplay/UX features and supporting infrastructure in BentoBox, including chunk pre-generation for island worlds, new default-island protection settings UI, improved message delivery tags, and blueprint format modernization, along with broad test and locale updates.

Changes:

  • Add chunk pre-generation manager + new config/settings knobs to reduce lag during island creation/reset.
  • Switch blueprint storage default to plain JSON .blueprint while keeping legacy .blu zip support, and update related admin commands/tests.
  • Add flag placeholders, island-default protection settings tab + click handler, obsidian “lava tip” hologram, and message delivery tags; expand coverage via new/updated tests and locale fixes.

Reviewed changes

Copilot reviewed 59 out of 60 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/main/java/world/bentobox/bentobox/util/Util.java Fixes legacy→MiniMessage tag nesting when colors change under decorations.
src/test/java/world/bentobox/bentobox/util/LegacyToMiniMessageTest.java Adds regression tests for tag nesting + roundtrip behavior.
src/main/java/world/bentobox/bentobox/Settings.java Adds pregen settings and obsidian lava-tip duration setting.
src/main/resources/config.yml Adds config section for chunk pregeneration defaults.
src/main/java/world/bentobox/bentobox/managers/ChunkPregenManager.java New manager that queues/dispatches async chunk generation around predicted island locations.
src/test/java/world/bentobox/bentobox/managers/ChunkPregenManagerTest.java Adds tests for pregen scheduling, tick dispatch, and shutdown paths.
src/main/java/world/bentobox/bentobox/listeners/BentoBoxListenerRegistrar.java Registers ChunkPregenManager as a listener and exposes accessor.
src/main/java/world/bentobox/bentobox/BentoBox.java Stores ChunkPregenManager reference and shuts it down on disable.
src/main/java/world/bentobox/bentobox/api/addons/GameModeAddon.java Adds overridable per-addon pregen islands-ahead hook.
src/main/java/world/bentobox/bentobox/managers/BlueprintsManager.java Changes default suffix to .blueprint, adds legacy .blu support + precedence rules.
src/main/java/world/bentobox/bentobox/managers/BlueprintClipboardManager.java Loads new plain JSON format first, falls back to legacy zip; saves as .blueprint.
src/test/java/world/bentobox/bentobox/managers/BlueprintsManagerTest.java Updates tests for new suffix and adds legacy .blu load test.
src/test/java/world/bentobox/bentobox/managers/BlueprintClipboardManagerTest.java Expands coverage for new/legacy load, precedence, bedrock insertion, and error paths.
src/main/java/world/bentobox/bentobox/api/commands/admin/blueprints/AdminBlueprintSaveCommand.java Treats both new and legacy files as “exists” for confirmation.
src/main/java/world/bentobox/bentobox/api/commands/admin/blueprints/AdminBlueprintRenameCommand.java Checks existence across new + legacy suffixes for from/to.
src/main/java/world/bentobox/bentobox/api/commands/admin/blueprints/AdminBlueprintLoadCommand.java Lists/tab-completes both .blueprint and .blu and strips correct suffix.
src/main/java/world/bentobox/bentobox/api/commands/admin/blueprints/AdminBlueprintListCommand.java Lists both formats and deduplicates names.
src/main/java/world/bentobox/bentobox/managers/PlaceholdersManager.java Registers per-flag placeholders (flag_<id>) and resolves values by flag type.
src/main/java/world/bentobox/bentobox/managers/FlagsManager.java Auto-registers flag placeholders for active game mode addons on flag registration.
src/test/java/world/bentobox/bentobox/managers/PlaceholdersManagerTest.java Adds tests for flag placeholder registration + behavior variants.
src/test/java/world/bentobox/bentobox/lists/GameModePlaceholderTest.java Extends placeholder tests for visited-island rank placeholder.
src/main/java/world/bentobox/bentobox/panels/settings/IslandDefaultSettingsTab.java New tab for editing default protection ranks for new islands.
src/test/java/world/bentobox/bentobox/panels/settings/IslandDefaultSettingsTabTest.java Tests icon/name/perm + flag rendering behavior.
src/main/java/world/bentobox/bentobox/api/flags/clicklisteners/IslandDefaultCycleClick.java New click handler to cycle default island protection ranks.
src/test/java/world/bentobox/bentobox/api/flags/clicklisteners/IslandDefaultCycleClickTest.java Tests permission and click-type behavior for default-rank cycling.
src/main/java/world/bentobox/bentobox/api/commands/admin/AdminSettingsCommand.java Adds the Island Defaults tab to admin settings panel.
src/test/java/world/bentobox/bentobox/TestWorldSettings.java Adds default-island-flag-name backing map for new UI/behavior.
src/main/java/world/bentobox/bentobox/api/panels/PanelItem.java Explicitly disables default italic styling on display name and lore components.
src/test/java/world/bentobox/bentobox/api/panels/PanelItemTest.java Adds tests verifying italic is explicitly disabled.
src/main/java/world/bentobox/bentobox/api/user/User.java Adds [actionbar]/[title]/[subtitle]/[sound] tags support and prevents prefix formatting bleed.
src/test/java/world/bentobox/bentobox/api/user/UserTest.java Adds tests for new delivery tags and prefix bold reset behavior.
src/main/java/world/bentobox/bentobox/listeners/flags/worldsettings/ObsidianScoopingListener.java Adds lava-tip hologram on obsidian formation + setting-controlled duration.
src/test/java/world/bentobox/bentobox/listeners/flags/worldsettings/ObsidianScoopingListenerTest.java Adds tests for BlockFormEvent hologram logic and location selection.
src/main/java/world/bentobox/bentobox/api/commands/admin/purge/AdminPurgeRegionsCommand.java Updates dimension folder resolution and adds playerdata path resolver.
src/main/java/world/bentobox/bentobox/managers/AddonsManager.java Tweaks addon incompatibility logging messages.
src/main/resources/locales/en-US.yml Adds new locale keys for obsidian lava tip and island defaults panel.
src/main/resources/locales/zh-CN.yml Translation fixes and consistency improvements.
src/main/resources/locales/vi.yml Translation fixes and consistency improvements.
src/main/resources/locales/uk.yml Translation fixes and consistency improvements.
src/main/resources/locales/tr.yml Translation fixes and consistency improvements.
src/main/resources/locales/ru.yml Translation fixes and consistency improvements.
src/main/resources/locales/pt-BR.yml Translation fixes and placeholder key corrections.
src/main/resources/locales/pl.yml Translation fixes and typo corrections.
src/main/resources/locales/ko.yml Translation fixes and formatting cleanup.
src/main/resources/locales/it.yml Translation fixes and formatting cleanup.
src/main/resources/locales/de.yml Translation fixes and formatting cleanup.
CLAUDE.md Updates repo documentation (packages/build version notes).
build.gradle.kts Bumps buildVersion value.

tastybento and others added 5 commits April 6, 2026 12:03
ChunkPregenManager's schedulePregen ran on BentoBoxReadyEvent during
startup and called Util.isChunkGenerated thousands of times on the main
thread. CraftWorld.isChunkGenerated blocks on region/IO workers during
startup, causing 10-15+ second Paper watchdog stalls. Gate the initial
sweep on ServerLoadEvent, drop the blocking pre-filter, and replace the
tick-time check with an async getChunkAtAsync(..., false) probe that
generates only when the chunk does not already exist.

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

sonarqubecloud bot commented Apr 6, 2026

Track active lava-tip holograms by obsidian block location so they
can be cleared as soon as the player scoops the obsidian back into
lava, instead of lingering until the timed removal fires.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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