1.3.0
Compatibility
Changes
FunTraps v1.3.0 — Major Update
Major New Features
-
Complete Menu System
- Added new Trap and Plast skin menus with selected states, remaining uses, purchase options and confirmation menus.
- Added quick access to the skin menu using Shift + right-click with the activation item.
- Added support for unlimited, limited and virtual skin uses managed directly through the menus.
-
Plast Wall System
- Added a complete temporary Plast wall system with independent items, cooldowns, durations, sounds and configurations.
- Added directional Plast structures for north, northeast, east, southeast, south, southwest, west, northwest, up and down.
- Added dedicated commands to save, remove, rename and manage Plast skins and direction variants.
-
Schematic and YAML Structure Support
- Added support for both WorldEdit/FAWE
.schemstructures and native YAML structures. - Trap skins and Plast variants can now be organized with separate structure files.
- Improved automatic center calculation when saving Trap structures.
- Added support for both WorldEdit/FAWE
-
Expanded Skin and Usage System
- Added independent skin selection for Traps and Plast walls.
- Added unlimited, limited and virtual skin uses.
- Added physical tokens that can grant virtual uses.
- Added administration commands to give, remove and set skin uses.
- Added individual skin permissions with
funtraps.skin.<skinId>.
Fixes and Improvements
-
Safe Restoration and Recovery
- Improved restoration for temporary Trap and Plast blocks after expiration, death, disconnect or plugin shutdown.
- Original block information is now preserved before structures are placed.
- Improved compatibility with containers, spawners and special block states.
- Added recovery verification and restoration commands for pending structure data.
-
Overlap and Intersection Logic
- Improved handling for Trap ↔ Trap, Trap ↔ Plast and Plast ↔ Plast intersections.
- Added configurable
SAFE,LEGACYandFORCErestoration modes. - Added support for preserving the first placed structure in shared block positions.
-
Protection Improvements
- Expanded ignored-block, cancel-on-materials and clear-inside protection rules.
- Added regex support for material groups such as shulker boxes, beds and chests.
- Improved WorldGuard and ProtectionStones compatibility for placement and clear-inside restrictions.
-
Command Improvements
- Added player commands for Trap and Plast skin selection, profiles, variants and toggle modes.
- Added administration commands for active structure removal, recovery verification and skin-use management.
Stability and Security
-
Performance Improvements
- Added separate caches for Trap and Plast structures.
- Improved deferred structure loading to reduce first-use lag.
- Updated menu behavior to reduce unnecessary repeating tasks.
- Improved particle viewer caching to reduce repeated player scans.
-
Cleanup and Recovery
- Improved cleanup of active Traps and Plast walls when players disconnect, die or when the plugin shuts down.
- Added stronger recovery handling for temporary structures and clear-inside changes after unexpected shutdowns.
- Improved internal separation between Traps, Plast walls, skins, menus, particles, storage, protections and recovery systems.
-
Release Verification
- Improved verification for the protected release JAR.
- Updated dependency validation before publishing new builds.
Important Update Notes
Create a full backup before updating to FunTraps v1.3.0.
This update adds new menus, Plast folders, skin systems, structure formats, recovery improvements and protection options.
- Create a complete backup of your existing
plugins/FunTrapsfolder. - Keep your storage files, skins,
.schemfiles, YAML structures and recovery data protected. - Start the new version once to generate the new default folders and configuration sections.
- Compare your customized files with the newly generated defaults before replacing them.
- Do not delete player data or storage files until you verify that skins, uses and selected configurations are loading correctly.
Configuration Examples
trap:
overlap:
preserve-first-structure: true
self:
allow: true
restore-mode: FORCE
others:
allow: true
restore-mode: FORCE
trap:
ignore-blocks:
- BARRIER
- BEDROCK
- BEACON
cancel-on-materials:
- CHEST
- BARREL
- ".*shulker_box"
clear-inside:
ignore-blocks:
- BARRIER
- BEDROCK
- ".*shulker_box"
trap:
protectionstones:
placement:
allow-owners: true
allow-members: true
allow-administrators: false
allow-non-members: false
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:JfesJnE4:WsXI19iK"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JfesJnE4:WsXI19iK"
}

