CDSC-1.5.jar

Details

  • Filename
    CDSC-1.5.jar
  • Uploaded by
  • Uploaded
    Jun 21, 2026
  • Size
    95.06 KB
  • Downloads
    19
  • MD5
    7e40870655308083fed3750a8bb96a01

Supported Bukkit Versions

  • 26.2
  • 26.1
  • 26.1.1
  • 26.1.2

Changelog

CDSC Update - Mini-game System + Compatibility Layer

Hello! This update adds a new mini-game foundation to CDSC while keeping the classic plugin behavior compatible, optional, and fully disableable.

✅ What Changed?


⚔️ New Optional Mini-game System

CDSC can now work as a complete mini-game during Castle Defence events.

The system adds:

- Mini-game sessions per area/castle
- Configurable player classes
- Class-based kits
- Separate spawns for defenders and attackers
- Clan-specific spawns
- Automatic inventory backup and restore
- Special respawn handling during the mini-game
- Integration with the current event/core system


🛡️ Compatibility

This update was designed to avoid breaking existing plugin usage.

By default, the mini-game is disabled:

MiniGame:
Enabled: false

When disabled:

- The classic system keeps working as before
- Existing commands keep working
- Existing area spawn keeps working
- Existing events keep working
- Core damage and area ownership transfer remain unchanged
- Existing areas do not need to be reconfigured


🎮 How the Mini-game Works

When enabled, the mini-game runs on top of the current event system.

Basic flow:

- An admin starts an event with /cd start <area>
- The player selects a class
- The player joins the mini-game
- The plugin saves the player's inventory, armor, location, and active effects
- The player receives the selected class kit
- The player is teleported to the correct spawn
- When the player dies, they respawn at their team/clan spawn
- When the player leaves or the event ends, everything is restored

🏹 Classes

Classes are configurable in config.yml.

Default examples:

- Warrior
- Archer
- Tank

Commands:

/cd classes
/cd class <className>

🚩 Mini-game Spawns

The system uses a safe fallback logic.

Spawn priority order:

1. Clan-specific spawn
2. Role spawn: defender/attacker
3. Existing area spawn
4. Existing area exit
5. Area first point

This means that if you do not configure the new mini-game spawns, the plugin automatically falls back to the existing area setup.

Commands:

/cd setgamespawn defender <areaName>
/cd setgamespawn attacker <areaName>
/cd setclanspawn <areaName> <clanTag>
/cd setclanspawn <areaName> <clanTag> defender
/cd setclanspawn <areaName> <clanTag> attacker

👥 Defender and Attacker Detection

The plugin automatically detects the player's role:

- If the player's clan owns the area, they join as a defender
- If the player belongs to another clan, they join as an attacker

📦 Safe Inventory Handling

When joining the mini-game:

- Current inventory is saved
- Current armor is saved
- Active potion effects are saved
- Previous location is saved
- The selected class kit is applied

When leaving, when the event ends, or when the core breaks:

- Original inventory is restored
- Original armor is restored
- Original effects are restored
- The player returns to the location they were at before joining

🧭 New Commands

/cd join <areaName>
/cd leave
/cd class <className>
/cd classes
/cd setgamespawn <defender|attacker> <areaName>
/cd setclanspawn <areaName> <clanTag> [defender|attacker]

Mini-game commands are shown in /cd help only when MiniGame is enabled.

🔐 New Permission

cdsc.setgamespawn

Used to configure mini-game spawns.

🌍 Translations

The main gameplay messages already use the msg.yml translation system, including:

- Event start and end
- Protection enabled/disabled
- Core hit
- Core broken
- Clan owner trying to hit their own core
- Items saved/restored during events

🧱 Database

A new separate table was added for mini-game spawns:

CDSC_MiniGameSpawns

The main area table was not changed, preserving compatibility with existing servers.

💡 Why This Change?

The goal is to make CDSC more flexible:

- Servers that want the classic system can keep using it normally
- Servers that want a more competitive mode can enable the mini-game
- Existing servers do not need to reconfigure everything
- New servers can create events with classes, teams, and advanced spawns

⚠️ Important

The mini-game is optional. To use it, enable it in config.yml:

MiniGame:
Enabled: true

Then configure spawns if you want separate defender, attacker, or clan-specific locations.

If no mini-game spawns are configured, the plugin falls back to the existing area spawn setup.