Skip to content

Seasonal Events

Survival Mix hosts regular seasonal events (e.g., Ramadhan, Halloween, Independence Day). These events often introduce custom mechanics, items, and economies.

  • File Pattern: server_configs/survivalmix/plugins/Skript/scripts/event_<name><year>.sk
  • Examples: event_ramadhan24.sk, event_halloween2023.sk

Common Patterns

1. Item Binding (Anti-Trade)

Many event items are "Soulbound" to prevent trading or inflation.

Mechanism: 1. Identification: Item gets a random unique ID (e.g., Pierrot-87) and the owner's UUID stored in NBT. 2. NBT Tags: - eventitemowner: Owner's UUID. - eventitem<eventname>id: Random Unique ID. 3. Enforcement: - on damage: Checks if the attacker/victim is the owner. - Penalty: If UUID doesn't match, the event is cancelled, and the player might be killed or warned.

2. Event Economies

Events often use temporary variables for currencies or points. - Top/Leaderboard: Stored in list variables (e.g., {zakattop::*}). - Distribution: Mechanics to distribute accumulated pools (e.g., Zakat) to new players after the event ends.

3. Custom Abilities

Event items often have scripted abilities. - Example: AL_SAKINAH_SARONG (Ramadhan 24) - Effect: Grants Resistance 5 for 5 seconds when hit (Cooldown: 15s). - Sound FX: Usage of play sound sequences to indicate activation.

Developer Best Practices

  1. Prefixing: Always prefix event variables with the event name and year (e.g., {ramadhan24::...}) to avoid collision.
  2. Cleanup: Create a command or function to clear temporary event variables after the event concludes.
  3. Modular: Keep all event logic in a single file when possible for easy removal.