
ZombieApocalypseSSS
ZombieApocalypseSSS is a comprehensive Minecraft plugin that transforms your server into a thrilling zombie survival apocalypse. Featuring advanced zombie AI, evolving variants, player infection mechanics, psychological horror elements, and dynamic events
4.3
Compatibility
Changes
[4.3] โ 2026-04-05 ๐๏ธ Structure System Refactor
Complete overhaul of all structure generation code for maintainability and safety.
๐๏ธ Structure System Overhaul
MilitaryCheckpoint.java
- Refactored rotation system: Unified
transform()andapplyRotation()methods - Variant enum system: Converted from integers to proper
Variantenum (ABANDONED, OVERRUN, ACTIVE) - Constants extraction: Added 50+ named constants:
SPAWN_RADIUS,MAX_TERRAIN_HEIGHT_DIFFROAD_LENGTH,ROAD_HALF_WIDTHBARRIER_LENGTH_BASE,TOWER_HEIGHT_BASESHULKER_CHANCE,CHEST_SEARCH_ATTEMPTSHEAVY_SPAWN_CHANCE,BOSS_HEALTH_BASE, etc.
- Improved setBlockSafe(): Added comprehensive
isReplaceable()helper - Cached tower position: Pre-calculate for sniper spawning
CrashedSupplyPlane.java
- Fixed setBlockSafe(): Properly handles replaceable blocks
- Mob spawn safety: Added
isValidMobSpawn() - Location-based random: Unique randomness per structure
- Performance optimization: Reduced
Location.clone()calls - Improved canSpawn(): Height variation checks
AbandonedHospital.java
- Added constants:
SPAWN_CHECK_RADIUS,MAX_HEIGHT_VARIATION,ZOMBIE_COUNT - Safe block placement:
setBlockSafe()withisReplaceable() - Mob spawn safety:
isValidMobSpawn() - Safe chest placement:
placeChestSafely()
SurvivorCamp.java
- Complete refactor: Extracted all magic numbers to constants
- Tent validation:
buildTent()checks space before building - Safe methods:
setBlockSafe(),placeBlockSafely(),placeChestSafely()
AbandonedOutpostPro.java
- Added constants:
FENCE_BROKEN_CHANCE,STRUCTURE_RADIUS - Improved canSpawn(): Height check + replaceable block validation
- Mob spawn safety:
spawnOutpostZombies()with validation
๐งน Code Cleanup
Removed Unused Files (11 files)
- EngineeringTableManager.java โ No longer used
- items/impl/*.java (10 files) โ Unused items:
- ChainsawItem.java, FlashbangItem.java, GrenadeItem.java
- KatanaItem.java, LandmineItem.java, MedKitItem.java
- MeleeWeaponItem.java, MolotovItem.java, SimpleItem.java
- ZGunWeapon.java
Updated Files
- StructureManager.java โ Changed
AbandonedOutpostโAbandonedOutpostPro
๐ Statistics
- Files refactored: 5 structure files
- Files deleted: 11 unused files
- Constants added: 75+
- Helper methods added: 15+
๐ Safety Improvements
All structures now have:
- โ
setBlockSafe()withisReplaceable() - โ
isValidMobSpawn()for safe spawning - โ
Height-aware
canSpawn()validation - โ Location-based random seed
- โ Constants replacing magic numbers
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:pSQD27Eo:h3CjbEez"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pSQD27Eo:h3CjbEez"
}
