OneBlock updates

The latest OneBlock changes on Foxcraft, newest first.

Update — September 13, 2026

Essentials

  • feat: show LuckPerms prefix in AFK/un-AFK messages (via PlaceholderAPI)

Update — September 7, 2026

Settings

  • 🐛 Fix fix(gearsignature): unsign crafted results without wiping their components thread

Update — August 30, 2026

Auctions

  • Price a spawner by its mob, and a stacked one by the spawner (#545)

Mob Stacking

  • Tell FoxAuctions what a spawner item is, and how many

Vouchers

  • Compute total XP in a long: /xpbottle was unusable at the vanilla XP ceiling thread

Update — August 29, 2026

Chat

  • Let a player opt their own text out of emoji substitution

Farming

  • feat(migrate): convert PyroFarming-era items in inventories into FoxFarming ones in place

Update — August 28, 2026

Farming

  • 🐛 Fix fix(migrate): carry stored produce + persisted climate on import; add `/farm import <dir> restore` to repair already-migrated stations

Update — August 26, 2026

Villagers

  • Preperations for lobotomizing frogs (without compromises)

Update — August 25, 2026

Announcements

  • 🐛 Fix Fix announcement bar lifecycle: stranded bars, orphaned boss bars, UUID keying, cleanup
  • 🐛 Fix Modernise to Paper 26.2 + Adventure, and fix the render hot paths
  • Validate config values and declare exclude permissions
  • Condition operators, per-player scope, and announcement targeting
  • Command UX: list, info, show, stop, help and tab completion
  • Review pass over #19-#22: private previews, rotation accounting, loader consistency

Auctions

  • Route every detection alert to the staff channel, not just the red ones (#542)

Ender Chest

  • 🐛 Fix fix: code review cleanup
  • 🐛 Fix fix: don't call CompoundTag.remove, which does not exist on 26.x
  • 🐛 Fix fix: repair enchantments in the format Minecraft actually uses
  • 🐛 Fix fix: repair the enchantments of items stored inside other items
  • Snapshot-based, thread-confined save pipeline for the chest cache
  • Event handlers: stale cache after reload, off-hand double fire, own-inventory swaps, holder snapshots
  • Commands: null-group return, chest-lock gates, modern material names
  • Load path: per-group importers, row off-by-one, NBT validation, importer threading
  • Storage: serialize database access, write chest files atomically
  • Item-filter costs and remaining cleanup items
  • 🐛 Fix Fix races and edge cases found by independent review of PRs #32-#37
  • Store the items waiting to be handed to a chest's owner

Farming

  • 🐛 Fix fix(selldecay): maturity gate on hand-harvest credit + per-instance credit bridge rebinding
  • 🐛 Fix fix: reload completeness, live join-notice resolve, single-stage idle flag
  • 🐛 Fix fix(recipe): stop vanilla recipes consuming FoxFarming items (crafting table + Crafter)
  • perf: incremental leaderboard scan, chunk-gated liquid flow, gated market clock, commit-stamped version
  • feat(skilltree): confirm the reset, give Bedrock a real form, group the Elysium costs
  • 🐛 Fix feat(bedrock): native forms for the three chest-only info menus, plus two config-parity fixes
  • feat(shop): make the farm shop's feedback and its price visible
  • feat(codex): Bedrock forms for field crops, a visible discovery reward, lifetime harvest counts
  • feat: make the farm's progression legible — hub tiles, generated command list, guide topics, harvest feedback
  • feat: un-invert the confirmation friction, and make personal orders actually personal
  • 🐛 Fix fix(bedrock): stop double-rendering entity-backed crops where GeyserModelEngine mirrors them
  • ⚖️ Tweak feat(selldecay): surface the hand-harvest credit balance
  • feat(api): publish orders, Elysium, growstation and skill-tree events (api 1.4.0)
  • 🐛 Fix fix(skilltree): seed the FormMax message key #751 introduced

Fishing

  • Gate the 42 sulfur-caves fish on the phase biome, not a phantom world

Player Shops

  • 🚫 Removed Make debug.disable-debuglogger disable the whole debug logger; audit of #195
  • Read the storage snapshot once per iteration; drop two Gson serialisations from hot paths

Protocollib

  • perf: cache outbound protocol resolver's handler context per channel (#5)

Region Music

  • Toolchain + CI + unit tests (Gradle 9.7.1, packetevents 2.13.0, GitHub Actions, JUnit)
  • Track region music through WorldGuard's session system; drop WGRegionEvents (#23, #18, #19, #22)
  • Toast + resource-pack awareness: grant-then-revoke, suppress for pack-less Java clients, re-emit only when needed (#21, #20, #25, #33, #36)
  • Playback UX: leave-grace period, last-track memory, per-player volume, vanilla-music stop (#24, #35, #27, #37)
  • Player controls + region-flag audit: /nowplaying, /frm off|on via FoxSettings, /frm regions (#26, #39)
  • Hygiene: config-key drift warning, string lengths, micro-optimisations, proxy hardening, docs drift (#29, #34, #32, #38)

Shop

  • sellDecay: expose one seller's unspent hand-harvest credit
  • TransactionLog: batch CSV appends per drain (#137)
  • Sell from the off-hand: include slot 40 in sellable count and removal, drained last (#132)
  • Perf: cache per-Trade derivations; lazy, clone-free menu rendering (#125, #126)
  • ConfirmMenu: clamp amount to live caps (parity with the Bedrock slider); one modifier scan per render (#127, #131)
  • sellDecay ops: resolver TTL caches + reload re-arm + BentoBox softdepend + /shopadmin status section (#128, #129, #130)
  • Bedrock-aware list-menu lore; one combined sell-all line; open-sound parity (#133)
  • Widen bundled pool past every day-group request; warn and preview-flag saturation (#134)
  • PlaceholderAPI: sell-decay multiplier / pressure / grace-left / harvest-credit placeholders (#135)
  • shopadmin list: pagination + display names + search; register: optional id:<name> (#136)

Tours

  • 🐛 Fix fix(editmode): point marker direction, preview leakage and stand ids

World Edit

  • Placement safety: physics after confirmation, own-half containers, inventory-holder drops, top-down destroy, BentoBox hook (#19 #20 #21 #25 #26 #28 #38)
  • 🐛 Fix Charging & command correctness: selection-world gating, one affordability rule, DEFAULT use on first placement, give fixes, quiet NBT-API (#22 #23 #24 #27 #41 #42)
  • 🐛 Fix Hotpaths: batched per-tick charging, lazy region, resolve-once hooks, cheaper selection box, wand pre-filter (#29 #30 #31 #32 #33)
  • Player UX: real limits, forgiving materials + tab completion, /pwe pos1|pos2|sel|clear, feedback + progress, confirm + undo, hex colours (#34 #35 #36 #37 #39 #43 #44)

Update — August 24, 2026

Auctions

  • Make market_key compare byte-exact so recent-sales grouping respects case (V34)
  • Gate Bedrock form senders on the player, not on whether Floodgate is installed

Stats

  • 🐛 Fix fix(stats): answer "unknown", not zero, when a player's data isn't loaded

Update — August 23, 2026

Warps

  • 🐛 Fix fix(stats): add a monotone %wwarp_explored% for timed leaderboards

Update — August 22, 2026

Region Music

  • Let a player turn off region and combat music (foxregionmusic.nomusic)

Update — August 21, 2026

Auctions

  • Group recent-sales figures by product, not just material (#536)

Bags

  • 🐛 Fix fix(commands): count a bag on the cursor or in an open screen as held
  • Stamp the shared foxmarket:key product tag on backpacks

Fishing

  • Stamp the shared foxmarket:key product tag on fish and rod skins

Minions

  • Stamp the shared foxmarket:key product tag on minion eggs

PvP Regions

  • 🐛 Fix Fixed hostile mobs not dealing damage in pvp area

Shop

  • sellDecay C4c: let prestige scale the global backstop grace too (opt-in)

Vehicles

  • 🐛 Fix fix: return a sentinel for missing-{type} vehicle data instead of throwing

Vouchers

  • Stamp the shared foxmarket:key product tag on vouchers

Update — August 20, 2026

Chat

  • ✨ New Add /emoji picker GUI so players can browse and use chat emoji

Vehicles

  • 🐛 Fix fix: don't let an unreadable vehicle record abort chunk loading

Stay up to date

Every change to the servers shows up here once it is live.