Links
Tags
Creators
Details
2.2
Compatibility
Changes
I am excited to present MySpawn v2.2, a major update focused on internal stability, architectural modernization, and full cross-version compatibility (1.8 - 1.21+).
🚀 Key Highlights
🛠️ Centralized Configuration Architecture
I have completely rewritten how the plugin handles files. The new LocationManager now acts as the central brain for all configuration I/O.
- What this means for you: More stable reloads, fewer bugs when switching languages, and a cleaner codebase for future updates.
- Hot-Reloading: The
/myspawn reloadcommand is now smarter. It atomically reloadsSpawn.yml,config.yml, and your language file without needing a server restart. - Dynamic Language Switching: Changing
Options.Languageinconfig.ymland reloading now instantly switches the plugin's language in real-time.
🔊 Smart Sound Engine
Say goodbye to console warning on modern versions!
- Noise: The plugin now uses a "try-catch-retry" strategy. It attempts to use modern sound names first and gracefully falls back to legacy (1.8-1.12) names if needed.
- Result: Perfect sound playback on any server version from 1.8.8 to 1.21.11.
🐛 Critical Fixes
- Firework Damage: Fixed a persistent issue where fireworks could damage players even with
No-Damageenabled. We now use persistent metadata (myspawn_nodamage) to guarantee safety. - Legacy Warnings: Added
api-version: 1.13toplugin.ymlto suppress "Legacy plugin" warnings on modern servers, while keeping full support for older versions.
📋 Changelog
Refactoring
- [Refactor] Centralized all config logic into
LocationManager. - [Refactor] Isolate
Mainclass from direct file management; delegated toLocationManager. - [Refactor] Made
PluginConfigmutable to support runtime reloading.
Features
- Update 2.2 (The Architecture Update) (7e41334)
- feat: Add update checker and version utility classes, bump plugin version, and include gitignore. (cdfca1e)
- feat: Implemented context-aware locale switching in
reloadConfig(). - feat: Enhanced
VersionUtilswith semantic version analysis for accurate legacy detection (1.7-1.12). - feat: Added new sub-option in Fireworks, No-Damage!, check config.yml for more information
Bug Fixes
- [Fix] Resolved
IllegalArgumentExceptionfor sounds on 1.13+ servers. - [Fix] Fixed race conditions in firework damage negation.
- Bump to 2.1.2 alpha version Update new config to README.md (96968dd)
- Update new config to README.md (646f7e0)
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:PncVNOiL:zaYpFQJj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:PncVNOiL:zaYpFQJj"
}

