
ItemsFilter-Plugin
A plugin adaptation of the Items Filter datapack, created with the help of an AI to fix duplication bugs encountered with GriefPrevention.
Оцените первым
84
1
Список изменений
v1.3.0
🇬🇧 English
- New Features:
- Per-Filter Overflow Mode: Shift + Right-click opens a GUI with 3 modes:
CONTINUE(Green) — The item continues through the hopper chain.BLOCK(Red) — The item stays blocked inside the hopper.DROP(Blue) — The item is dropped underneath the filter.
- Full i18n System: Built-in multilingual support (EN/FR) with automatic fallback. Language files are fully editable in
plugins/ItemsFilter/Message/. Supports custom language files. - Source Hopper Read-Only Access: By default, players can now view and interact with the hopper located above the filter.
- Anti-Grief Protection: Filters now strictly respect GriefPrevention, WorldGuard, and Towny (handled via
MONITOR+ignoreCancelled=true).
- Per-Filter Overflow Mode: Shift + Right-click opens a GUI with 3 modes:
- Simplified Permissions:
itemsfilter.use,itemsfilter.craft,itemsfilter.break— Now accessible to all players by default (no permission plugin required).itemsfilter.overflow— Accessible to everyone by default (allows opening the Overflow GUI)./if helpand/if recipe— Public commands.- Admin commands (
give,reload,cooldown,list,info,debug,chunkload,uninstall) — Restricted to OP by default.
- Bug Fixes:
- Item Destruction: Fixed — Item transfers now safely use
getItem()+createReduced()instead of modifying the itemstack in place. - Items Bypassing Filters: Fixed — Only items matching the reference filter are allowed through.
- Transfer Race Condition: Fixed —
tickFilternow solely handles transfers; the listener only cancels vanilla pushes.
- Item Destruction: Fixed — Item transfers now safely use
- Performance Optimizations:
- Configuration caching (cooldown, tick-period, etc.) at startup/reload.
- Implemented
IdentityHashMapfor per-tick inventory caching. - Static
HORIZONTALarray (prevents per-tick allocations). - Marked
ItemFilter.key()as afinal String(cached hash).
- Configuration updates:
protect-source-hopper→ Set tofalseby default (players can interact with the hopper).transfer-cooldown→ Set to4 ticksby default (matching the original datapack speed).tick-period→ Set to8 ticksby default (vanilla hopper timing).
🇫🇷 Français
- Nouvelles fonctionnalités :
- Mode Overflow par filtre : Shift + clic-droit ouvre un GUI avec 3 modes :
CONTINUE(Vert) — L'item continue dans la chaîne de hoppers.BLOCK(Rouge) — L'item reste bloqué dans le hopper.DROP(Bleu) — L'item est jeté sous le filtre.
- Système i18n complet : Support multilingue natif (FR/EN) avec fallback automatique. Les fichiers de langue sont éditables dans
plugins/ItemsFilter/Message/. Supporte les langues customisées. - Lecture seule du hopper source : Par défaut, les joueurs peuvent désormais voir et manipuler le hopper au-dessus du filtre.
- Protection anti-grief : Les filtres respectent rigoureusement GriefPrevention, WorldGuard et Towny (via
MONITOR+ignoreCancelled=true).
- Mode Overflow par filtre : Shift + clic-droit ouvre un GUI avec 3 modes :
- Permissions simplifiées :
itemsfilter.use,itemsfilter.craft,itemsfilter.break— Accessibles à tous par défaut (plus besoin de plugin de permissions).itemsfilter.overflow— Accessible à tous par défaut (pour ouvrir le GUI d'overflow)./if helpet/if recipe— Commandes désormais publiques.- Commandes admin (
give,reload,cooldown,list,info,debug,chunkload,uninstall) — Réservées aux OP par défaut.
- Corrections de bugs :
- Destruction d'items : Corrigé — Le transfert utilise maintenant
getItem()+createReduced()au lieu de modifier le stack directement sur place. - Items by-passant le filtre : Corrigé — Seuls les items qui correspondent exactement à la référence passent.
- Race condition transfer : Corrigé — Seul
tickFiltergère les transferts, le listener se contente d'annuler les pushes vanilla.
- Destruction d'items : Corrigé — Le transfert utilise maintenant
- Optimisations performances :
- Cache de la configuration (cooldown, tick-period, etc.) au démarrage et lors des reloads.
- Utilisation d'une
IdentityHashMappour le cache d'inventaire par tick. - Utilisation d'un tableau
HORIZONTALstatique (évite les allocations d'objets à chaque tick). - Passage de
ItemFilter.key()enfinal String(mise en cache du hash).
- Configuration :
protect-source-hopper→falsepar défaut (les joueurs peuvent interagir avec le hopper).transfer-cooldown→4 tickspar défaut (vitesse identique au datapack d'origine).tick-period→8 tickspar défaut (cadence vanilla).
Файлы
ItemsFilter-1.3.0.jar(96.38 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.3.0
Загрузчики
Paper
Версии игры
26.1–26.1.2
Загрузок
11
Дата публикации
07.06.2026
