2.1
Compatibility
Changes
Craft CUBE Clash 2.1
Craft CUBE Clash 2.1 is the largest stability and event-system update since the 2.0 rebuild.
This release focuses on making complete multi-day PvP events safer, more automated and easier to administer.
⭐ Major Changes
🏠 Team Cubes & Navigation
- Added improved automatic team-cube generation
- Improved schematic placement and validation
- Added persistent team cube positions
- Added team-colored particle beams above bases
- Team beams are now visible only to members of the corresponding team
- Locator markers are now private to the player's own team
- Improved team member navigation
- Added persistent base chunk loading
- Improved handling of underground team cubes
🪽 Start Flight
- Added automatic Elytra and Firework Rocket distribution
- Players receive their flight equipment immediately when protection begins
- Added landing detection
- Added a visible 10-second landing countdown
- Taking off again cancels the countdown
- Flight equipment is only permanently removed after the initial island departure and completed landing
- Improved reconnect handling during the initial flight
🛡️ Main Island Protection
- Added persistent central-island protection before the finale
- Players can travel underneath the island while the protected upper area remains inaccessible
- Added high-speed movement-path collision checks
- Fixed Elytra + rocket clipping into the protected island
- Added vehicle protection
- Improved teleport protection
- Removed the normal event World Border from the Main Phase
🌀 Teleport Exploit Protection
- Improved Ender Pearl wall-clipping detection
- Added post-teleport collision verification
- Disabled unsafe Chorus Fruit teleporting
- Added protection against entering restricted areas through teleports
⚔️ Combat & Death Bans
- Improved the 30-second Combat-Tag system
- Fixed Death-Ban kicks being detected as Combat-Logging
- Administrative unbans now also clear temporary combat state
- Added separate configurable bans for:
- PvP deaths
- Environmental deaths
- Combat-Logging
- Finale disconnects
- Environmental deaths during Protection are now handled correctly
- Improved inventory handling during Combat-Logging
💥 Event Rules
- Added optional Crystal-PvP disabling
- Added optional End dimension locking
- Improved protected-phase hostile mob handling
- Wild hostile mob spawning can be blocked without deleting intentionally placed or farm-related mobs
👥 Player Pool
- The player pool is now persistent
- Unknown players are no longer automatically registered when they join
- After setup is complete, only players already registered in the player pool are allowed to enter the event
- Existing player UUIDs remain authoritative even if a player's name changes
🏷️ Team Nametags
- Added team-colored player nametags
- Player names can display their assigned team
- Uses Minecraft scoreboard teams instead of additional display entities for lower overhead
⏱️ Event Timeline
- Improved automatic phase scheduling
- Manual phase jumps no longer permanently pause the configured schedule
- Automatic phase progression can recover after server downtime
- Added schedule catch-up after:
- Server startup
- Player join
- Configuration reload
- Fixed phases jumping backwards
- Improved phase timer and MOTD status messages
🛑 Event Stop
Stop Eventis now a true event shutdown- Stopping the event prevents old scheduled phases from restarting it
- Winner-animation tasks are cancelled correctly
- Finale daylight and invulnerability states are restored
- Delayed event tasks are cleaned up safely
🏆 Finale
- Improved team winner detection
- Fixed multiple teams receiving winner rewards
- Winner players are now stored in an exact UUID snapshot
- Added improved colored-island finale spawning
- Added colored-carpet spawn preference
- Team members can be spread across multiple carpet positions
- Offline players at finale start are treated as eliminated for that finale
- Players leaving an active finale can be eliminated and punished
- Improved finale persistence across server restarts
- Improved winner animations and automatic event ending
🌍 World Border
- The standard event World Border is used only where required
- No artificial Craft CUBE Clash World Border is active during the Main Phase
- The Finale uses its own dedicated World Border
- Improved World Border restoration after reloads and restarts
🔄 Generation & Restart Safety
- Improved setup-generation recovery
- Added generation-state persistence
- Improved controlled server restart handover
- Prevented duplicate Java server starts when the hosting panel already restarted the server
- Added safer rollback and recovery logic
- Improved cleanup of temporary generation state
⚙️ Performance & Stability
- Reduced unnecessary particle traffic
- Team beams are only sent to the correct team
- Reduced unnecessary team navigation processing
- Improved scheduled-task cleanup
- Improved entity and temporary marker cleanup
- Fixed multiple configuration fallback inconsistencies
- Improved source/project validation
🐛 Fixes
This release also includes many smaller fixes involving:
- Team assignment
- Schematic placement
- Cube spawning
- Event restarts
- Player reconnects
- Combat state
- Death-Ban handling
- Finale winner detection
- World Border state
- Winner animations
- Lobby transitions
- Start protection
- Elytra handling
- Teleport safety
- Player-pool persistence
- Source/export consistency
📦 Requirements
- Minecraft: 26.1.2
- Server: Paper
- Java: Java 25 recommended
- WorldEdit: Optional, required for automatic schematic pasting
No Craft CUBE Clash client mod is required.
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:VleGg66m:8XBp4CrT"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:VleGg66m:8XBp4CrT"
}

