Skip to content

Release 1.29.0

Latest

Choose a tag to compare

@tastybento tastybento released this 10 Jul 23:30
47bb6bb

Release Highlights

  • ⚙️ Block group limits — one shared limit across a set of block materials (e.g. pistons + sticky pistons, or grass/dirt/farmland), so players can't dodge a limit by converting between related blocks.
  • ⚙️ ItemsAdder & Oraxen custom block limits — limit custom blocks straight from blocklimits using their namespaced ids.
  • ⚙️ Team member limit permissions (opt-in) — team members' island.limit.* permissions can now contribute to the island's limits, not just the owner's.
  • Reached-limits placeholders & API — new %Limits_<gamemode>_island_reached_limits% placeholders show which limits are maxed, closing the oldest open ticket (2018!).
  • ⚙️ Stackable plants can count as one — optionally count a whole sugar cane or bamboo stalk as a single plant.
  • 🔡 Manual material/entity name translations — locale files can now translate the block/entity names shown in the GUI and hit-limit messages.
  • ⚙️ Silent enforcement option — turn off hit-limit chat messages while keeping limits enforced.
  • Item frames and paintings can now be limited — item frames, glow item frames, and paintings are no longer excluded from entitylimits.
  • Fix: phantom entity counts from portaled mobs — mobs travelling through portals no longer leave stuck counts behind (e.g. Chicken 10/10 with no chickens on the island).

Compatibility

✔️ BentoBox API 2.7.1
✔️ Paper Minecraft 1.21.11 - 26.2
✔️ Java 21

Upgrading

  1. As always, take backups just in case. (Make a copy of everything!)
  2. Stop the server.
  3. Replace the Limits jar with this one.
  4. Restart the server.
  5. New config options do not appear in an existing config.yml automatically — add the keys you want from the list below, or delete the config to regenerate it.
  6. You should be good to go!

⚙️ Config note: New options this release: blockgrouplimits (+ -nether/-end overrides), apply-member-limit-perms, show-limit-messages, stacked-plants-count-as-one, and ItemsAdder/Oraxen ids as blocklimits keys. Also, log-limits-on-join now defaults to false — set it back to true if you relied on that console output.

🔺 Recount note: After adding a block group or changing stacked-plants-count-as-one, run a recount (/<gamemode> limits recount) so stored counts match the new counting rules.

🔡 Locale note: There is a new island.limits.panel.block-group-name-syntax key, plus optional island.limits.materials / island.limits.entities sections for manual name translations. Existing locale files keep working without changes.

Legend

  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed, or added.
  • 🔺 special attention needed.

New Features

⚙️ Block Group Limits

[PR #287] Fixes #12

The block-side counterpart to entity group limits: define a named group with an icon, a member material list, and a shared limit under blockgrouplimits. The counts of every member are summed against the group limit, so players can't bypass a limit by converting between related blocks (grass → dirt) or splitting across variants (piston / sticky piston). Per-environment limit overrides are supported via blockgrouplimits-nether / blockgrouplimits-end, and individual blocklimits still apply on top. Also resolves #84 and #132.

⚙️ ItemsAdder & Oraxen Custom Block Limits

[PR #288] Fixes #176

Custom blocks from ItemsAdder and Oraxen can now be limited using their ids directly in the existing blocklimits section (including the -nether/-end and worlds: overrides) — e.g. "iafestivities:christmas/christmas_tree/green_orb": 5 or "oraxen:caveblock": 10. Enforcement uses each plugin's own place/break events via BentoBox hooks, registered only when the plugin is installed. A recount preserves stored custom-block counts rather than rescanning them.

⚙️ Team Member Limit Permissions (opt-in)

[PR #282] Fixes #241

With apply-member-limit-perms: true, a team member's <gamemode>.island.limit.* permissions are merged into the island's limits when they log in — the highest value wins. The owner's login still recalculates limits from scratch, then merges in the permissions of any online team members. Coop and trusted players are not team members and their permissions never apply. Off by default, so existing behaviour is unchanged.

Reached-Limits Placeholders & Public API

[PR #284] Fixes #2

New %Limits_<gamemode>_island_reached_limits% placeholder (plus _overworld / _nether / _end variants) lists every limited block, entity, and entity group that is at or over its limit — no more querying every key to find out what's maxed. Other addons can use the matching Limits#getReachedLimits(User, GameModeAddon, Environment) API. This closes the oldest open ticket in the tracker, filed in 2018 via ASkyBlock.

⚙️ Stackable Plants Can Count as One

[PR #285] Fixes #53

With stacked-plants-count-as-one: true, a sugar cane or bamboo stalk counts as a single plant no matter how tall it grows — only the base segment is counted. Default false keeps the current per-segment counting. Run a recount after changing this option.

🔡 Manual Material/Entity Name Translations

[PR #286] Fixes #188

Locale files can now translate the block and entity names shown in the limits GUI and in hit-limit chat messages, using optional island.limits.materials / island.limits.entities sections keyed by lowercase Bukkit names. Anything not listed falls back to the automatic prettified English name, so existing locale files need no changes.

⚙️ Silence Limit Messages

[PR #283] Fixes #65

New show-limit-messages option (default true). Set it to false to enforce limits silently — placements and spawns are still blocked, but players receive no hit-limit message.

Item Frames, Glow Item Frames, and Paintings Can Be Limited

[PR #281] Fixes #66

Item frames and paintings were previously excluded because scan-based counting couldn't track their removal paths. Now that entity counting is persistent and event-driven, all three can be configured under entitylimits like any other entity. Also closes the duplicate #143.


Bug Fixes

Phantom Entity Counts Left by Portaled Mobs

[PR #289]

Entity limits could show full (e.g. Chicken 10/10) with far fewer — or zero — of that mob actually on the island, and the count would creep back up after a recount. Mobs travelling through portals never fire a removal event in the source world on Paper, which left stale tracking entries that swallowed the mob's real removal later. Portal transfers are now handled without expecting that event, so counts stay accurate.

Copper Golem Build Blocked at Copper Chest Limit

[PR #279] Fixes #276

Building a copper golem places a copper chest without a normal block-place event, letting players exceed a COPPER_CHEST limit. The golem build is now cancelled when the island is at that limit.

⚙️ Quieter Join Logging by Default

[PR #278] Fixes #277

log-limits-on-join now defaults to false — on servers with many permission-based limits it flooded the console on every join. Set it to true if you want the logging back for debugging.


Other Improvements

  • The no-place-event block helpers (used for the copper golem's chest) now respect ignore-center-block, matching normal placements at the island center.

What's Changed

  • ⚙️ Quieten permission-limit join logging by default by @tastybento in #278
  • Cancel copper golem build when at COPPER_CHEST limit by @tastybento in #279
  • Allow item frames, glow item frames, and paintings to be limited by @tastybento in #281
  • ⚙️ Add show-limit-messages config option to silence limit notifications by @tastybento in #283
  • ⚙️ Add option to count stackable plants as a single plant by @tastybento in #285
  • Add reached-limits placeholders and public API by @tastybento in #284
  • ⚙️ Add opt-in support for team members' limit permissions by @tastybento in #282
  • 🔡 Add optional manual material/entity name translations in locale files by @tastybento in #286
  • ⚙️🔡 Add block group limits by @tastybento in #287
  • ⚙️ Add ItemsAdder and Oraxen custom block limits by @tastybento in #288
  • Fix phantom entity counts left by portaled mobs by @tastybento in #289

Full Changelog: 1.28.4...1.29.0