▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/HomeLimiter
HomeLimiter

HomeLimiter

Automatically enforces EssentialsX home limits when a player’s rank changes. If a player is downgraded and their new rank allows fewer homes, the plugin removes the most recently created homes to match the EssentialsX limits.

Оцените первым
85
1
Все версииHomeLimiter 1.1

HomeLimiter 1.1

Release03.04.2026

Список изменений

HomeLimiter Changelog


v1.1

Bug Fixes

  • Fixed /sethome alias detection — the old version incorrectly listened for /ehome (which is the teleport alias) when tracking new home creation. It now correctly listens for /esethome.
  • Fixed home creation timestamps being overwritten — re-running /sethome on an existing home used to reset its timestamp, which could cause the wrong homes to get locked when enforcing limits. The timestamp is now preserved on re-set (INSERT OR IGNORE instead of INSERT OR REPLACE).
  • Fixed locked home restoration losing original creation time — when a home was restored from the locked list, it was saved with the current time instead of the original creation time. The original timestamp is now carried through correctly.
  • Fixed onDisable not checking if connection is already closed — could throw an exception on shutdown in some cases.

Improvements

  • Overhauled home limit calculation — the old system read limits from a custom groups.* section in config.yml and picked the highest-weighted LuckPerms group. The new system reads directly from Essentials' own sethome-multiple config section and checks essentials.sethome.multiple.<key> permissions in LuckPerms, making it fully compatible with existing Essentials setups without any extra configuration.
  • Enforcement is now fully async/main-thread safe — the old enforce() ran entirely on the main thread, blocking it during DB reads. The new version choreographs work across threads: DB reads happen async, all Essentials API calls happen on the main thread, and DB writes are flushed async at the end.
  • Bulk DB timestamp loading — instead of querying the database once per home during enforcement, all timestamps for a player are now loaded in a single query upfront.
  • All DB mutations are batched — locking and restoration no longer write to the database mid-enforcement. Changes are collected and flushed in one async pass at the end, reducing DB contention.
  • SQLite WAL mode and busy timeout enabledPRAGMA journal_mode=WAL and PRAGMA busy_timeout=5000 are now set on startup, allowing concurrent reads during writes and preventing instant failures on a locked write.
  • Context-aware permission queries — online players now use full contextual QueryOptions (respecting world/gamemode contexts) when checking LuckPerms permissions, with a fallback to static options for offline players.
  • Re-enforce on LP data recalculate — LuckPerms' UserDataRecalculateEvent now triggers enforcement directly instead of going through a safeEnforce wrapper, simplifying the code path.
  • /reload now requires permission — the homelimiter.admin permission is checked before allowing a config reload. Previously any player could run it.
  • Tab completion now requires permission — tab completion for /hl reload is now gated behind homelimiter.admin as well.
  • Startup scan delay uses longdelay-ticks is now read as a long instead of int, preventing overflow on very large configured values.

Code Cleanup

  • Removed unused findOfflineByName() helper method.
  • Removed unused import net.luckperms.api.model.group.Group.
  • Replaced the safeEnforce() wrapper with inline error handling in the async callback.
  • Replaced the LockedHome static class with a LockedHomeRecord record for DB mutation staging.
  • Orphan timestamp cleanup is now handled inline during enforcement instead of in a separate cleanupOrphans() method.
  • Added section comments throughout for readability.

Файлы

HomeLimiter-1.1.jar(13.00 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1

Загрузчики

Paper
Purpur
Spigot

Версии игры

1.20–1.21.11

Загрузок

8

Дата публикации

03.04.2026

Загрузил

ID версии

Главная