All versions
1.3.0
Release
ItemsFilter-Plugin 1.3.05 months ago 17
Uploaded by
Compatibility
Minecraft: Java Edition
26.1.x
Platform
Paper
Changes
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).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:XwPvF2Dk:IhsiQiO9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:XwPvF2Dk:IhsiQiO9"
}

