Tags
Creators
Details
Licensed GPL-3.0-only
Published 2 years ago
Updated last month
All versions
1.4.7
Release
VillagerTradeEdit 1.4.7last year 759
Compatibility
Minecraft: Java Edition
1.21–1.21.10
Platforms
Folia
Paper
Purpur
Changes
Critical Bug Fix
- Server Sleep Mode Data Loss - Fixed critical issue where villager trades disappeared after servers wake from sleep mode (specifically reported on PebbleHost servers with 60-second idle sleep). Villagers now correctly retain their custom trades through sleep/wake cycles.
New Features
- EntitiesLoadEvent Handler - Added entity load event listener to catch villager loads even when chunks remain loaded, ensuring data restoration regardless of chunk state
- Shutdown Data Persistence - Implemented automatic save of all managed villagers during plugin disable to prevent data loss during server sleep/shutdown cycles
- Startup Data Restoration - Added automatic restoration of already-loaded villagers on plugin enable to handle plugin reloads and server wake-ups
Improvements
- Enhanced Debug Logging - Added detailed logging with trade counts, profession info, and UUIDs to make troubleshooting and verification easier
- Synchronous Storage Method - Implemented synchronous data storage option for shutdown scenarios to prevent async scheduling issues
Bug Fixes
- Fixed villager trades disappearing after server sleep/wake cycles
- Resolved issue where ChunkLoadEvent wasn't firing for already-loaded chunks during server wake
- Prevented data loss when plugin disables during sleep mode
- Fixed non-functional GUI after editing villager name or permission - Editor GUI now properly re-registers inventory mappings and re-renders the page when reopening after name/permission edits, allowing continued trade editing and interaction
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:ki2hRsud:DLpEjEWO"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ki2hRsud:DLpEjEWO"
}

