Tags
Creators
Details
Licensed MIT
Published 5 months ago
Updated 2 months ago
All versions
1.0.14
Release
AmplProtections 1.0.144 months ago 36
Compatibility
Minecraft: Java Edition
26.1.x
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
Changelog
[1.0.14] - 2026-06-17
Added
PSStones Migration System
- New command
/aprotmigrate psstonesto migrate regions from ProtectionStones - Confirmation GUI menu before migration (fully editable via
menus/migration-menu.yml) - Option to delete original PS regions after migration
- Async migration to prevent server lag
- Migrates owners, members, flags, and exact region bounds
- Creates dynamic protection types for non-standard radii
- Reads
ps-homeflag for correct block placement - Detailed logging of each migrated region
Nexo Integration
- New
NexoHookclass for Nexo API integration - Support for custom block models from Nexo furniture system
- New
nexo-idfield inblocks.ymlfor Nexo items - Multiple API compatibility approaches for different Nexo versions
Custom Model Data Support
- Blocks can now be identified by material + custom model data
- Compatible with Nexo, ItemsAdder, and Oraxen resource packs
- New
getProtectionTypeByMaterialAndModelData()method
Configurable Limits
- Custom ranks with custom limits (add as many as you want)
- Per-world max protections (different limits per world)
- New config structure:
worlds: world-limits: world: 10 world_nether: 3 limits: ranks: default: 3 vip: 5 mvp: 10 admin: 999
Migration Messages
- Added
migration.*section to bothen.ymlandes.yml - All migration messages are now configurable and translatable
Fixed
Critical Fixes
- Fixed duplicate
commandssection in language files that caused ~80 messages to be lost - Fixed
CustomModelDataIllegalStateException in Paper 1.21+ (now checkshasCustomModelData()first) - Fixed PSStones regions being migrated with wrong size (now uses exact WG region bounds)
- Fixed protection block not being placed at correct location during migration
Language System
- LanguageManager now uses ConfigUpdater to add new keys to existing language files
- Added missing messages:
commands.list-no-protections,commands.preset-invalid-sub,buy-menu.*
Database
- Migration now uses UPSERT instead of INSERT to prevent duplicate key errors
- Added proper transaction rollback on migration failure
Changed
Plugin Optimization
- Reduced jar size from ~15MB to ~1.6MB
- Added SQLite native library filters (only Windows x64 and Linux x64)
- Enabled
minimizeJarto remove unused classes
Dependencies
- Added WorldGuard as soft dependency
- Added WorldEdit dependency
- Added Nexo as soft dependency
- Added EngineHub and sk89q repositories
Technical
New Files
src/main/java/com/amplan/amplprotections/database/PSStonesMigrationManager.javasrc/main/java/com/amplan/amplprotections/hook/NexoHook.javasrc/main/java/com/amplan/amplprotections/menu/MigrationConfirmMenu.javasrc/main/resources/menus/migration-menu.yml
Modified Files
src/main/java/com/amplan/amplprotections/AmplProtections.javasrc/main/java/com/amplan/amplprotections/command/MigrateCommand.javasrc/main/java/com/amplan/amplprotections/config/MenuConfigManager.javasrc/main/java/com/amplan/amplprotections/language/LanguageManager.javasrc/main/java/com/amplan/amplprotections/listener/BlockListener.javasrc/main/java/com/amplan/amplprotections/manager/ProtectionManager.javasrc/main/java/com/amplan/amplprotections/model/ProtectionType.javasrc/main/resources/blocks.ymlsrc/main/resources/config.ymlsrc/main/resources/lang/en.ymlsrc/main/resources/lang/es.ymlsrc/main/resources/plugin.ymlpom.xml
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| AmplProtections-1.0.14.jar | Unknown | 1.62 MiB |
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:sL5AiZpx:DNDZIYvW"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:sL5AiZpx:DNDZIYvW"
}

