Tags
Creators
Details
Licensed GPL-3.0-only
Published 4 months ago
Updated 3 days ago
All versions
1.5.0
Release
xApocalypse 1.5.03 months ago 17
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Required content
Any compatible version
Changes
[1.5.0] - 2026-07-14
Added
- Added optional PlaceholderAPI integration through a bundled internal expansion. PlaceholderAPI remains a soft dependency, so xApocalypse still loads normally when it is absent.
- Added
%xapocalypse_bloodmoon_days_left%for the whole number of in-game days until the next natural Blood Moon. It returns0while a Blood Moon is active or due that day. - Added
%xapocalypse_zombie_guts_duration%for the active player's remaining Zombie Guts duration in whole seconds, returning0when inactive. - Added
%xapocalypse_current_scent%for the active player's live scent value, returning0when no player context or scent is available. - Added a configurable vanilla sound when a natural or forced Blood Moon begins. It is played to online players in enabled and lobby worlds.
- Added a configurable proximity sound after every successful Mutant spawn, including guaranteed Blood Moon, periodic Blood Moon, and admin-command spawns.
- Added sound controls for enablement, Bukkit sound name, volume, and pitch. Mutant sounds also support a configurable hearing radius.
- Added a dedicated PlaceholderAPI documentation page and updated the README and configuration reference for the new features.
Configuration
- Added
bloodmoon.start-sound.enabled(defaulttrue). - Added
bloodmoon.start-sound.name(defaultENTITY_WITHER_SPAWN). - Added
bloodmoon.start-sound.volume(default1.0). - Added
bloodmoon.start-sound.pitch(default0.7). - Added
mythicmobs.integration.spawn-sound.enabled(defaulttrue). - Added
mythicmobs.integration.spawn-sound.name(defaultENTITY_ENDER_DRAGON_GROWL). - Added
mythicmobs.integration.spawn-sound.volume(default1.0). - Added
mythicmobs.integration.spawn-sound.pitch(default0.8). - Added
mythicmobs.integration.spawn-sound.radius(default48.0blocks). - Existing installations receive these missing keys through the automatic configuration synchronizer. Administrators do not need to delete or regenerate
config.yml; existing settings and comments are preserved. - Invalid configured sound names are skipped safely and reported in the server log instead of preventing the plugin from loading.
Changed
- Added PlaceholderAPI 2.11.6 as a compile-time-only dependency and declared PlaceholderAPI in
plugin.ymlas a soft dependency. - Blood Moon day calculations and Zombie Guts remaining-time access are now exposed as read-only manager APIs for integrations.
- Mutant spawn audio is emitted from the shared successful-spawn path, ensuring consistent behavior across every supported spawn source.
- Updated all current release badges, help text, installation examples, artifact names, and resource headers to version 1.5.0.
Fixed
- Improved Minecraft attribute resolution across Paper 1.21 API variants. xApocalypse now tries modern registry keys, legacy namespaced keys, and reflective legacy attribute fields before reporting a missing attribute.
Compatibility and upgrade notes
- Requires Java 21 and a server compatible with Bukkit/Paper API 1.21, matching previous releases.
- GriefPrevention, MythicMobs, and PlaceholderAPI integrations are all optional.
- PlaceholderAPI values requiring player state return
0when parsed without a player context. - Sound triggers use vanilla Bukkit sound names only; custom resource-pack sound keys are not supported in this release.
Optional dependencies
Any compatible version
Any compatible version
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:kgjpQWyi:m8aBbkrM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:kgjpQWyi:m8aBbkrM"
}

