
Halloween Plugin
Halloween events for Paper, Spigot & Purpur 1.21.3–26.x: scare events, pumpkin bosses, animated grave waves, Herobrine, candy economy, statistics, Discord webhook, season scheduler. Free & open source.
Список изменений
Halloween Plugin v3.4.0 - CHANGELOG
Release Date: September 2026
Type: Feature Release
Previous Version: v3.3.0
The biggest update since 3.0.0: an admin toolkit (season scheduler, manual triggers, witching hour, Discord
webhook), statistics with leaderboards and PlaceholderAPI support, boss bars & titles, a WorldGuard region
flag, flexible rewards (command: / money: / candy:) and a candy economy with a configurable Pumpkin Trader.
Optional integrations (Vault, PlaceholderAPI, WorldGuard) are soft-dependencies - nothing is required.
✨ New
Season scheduler (season)
season: { enabled: false, start: "10-01", end: "11-05", countdown_days: 7, timezone: "" }
Turns Halloween on when the season starts and off when it ends (checked every minute). Only boundary
crossings are applied, so /halloween on|off still works manually in between. Players joining shortly before the
start see a countdown (seasonCountdown). The season end announces the leaderboard (see statistics).
/halloween trigger <event> [player|@a] (permission halloween.trigger)
Fire any scare event or boss on demand: pumpkin, slenderman, fire, lightning, darkness, herobrine,
zombieboss, skeletonboss, batwitch. Works regardless of the global state and ignores cooldowns, but respects
world protection (nothing spawns in a blacklisted world or a WorldGuard region with halloween-events = deny).
/halloween debug eligible [player]
Prints every condition that decides whether a player receives events, boss bars and titles (global state,
/halloween disable, world blacklist, vanish, spectator, WorldGuard) - the first thing to run when someone asks
"why don't I see anything?".
(The scare effects were moved out of the timer tasks into EventEffects, removing six copies of the same code.)
Witching hour (witching_hour)
A daily window (server clock or in-game time) in which events fire more often (interval_multiplier), with
start/end announcements and random ambient horror sounds. Timers are restarted when the window opens so the
multiplier applies immediately.
Discord webhook (discord)
Boss spawn/defeat, grave start/complete, season start/end and the season-end leaderboard posted to a Discord
channel. Texts are discord* categories in messages.yml (colours stripped), sending is asynchronous and rate-limited.
Statistics (statistics, stats.yml)
Per-player counters: scares, pumpkins_received, halloween_mob_kills, bosses_spawned, bosses_defeated,
graves_started, graves_completed, grave_mvp, cakes, candy_earned, pumpkin_time.
/halloween stats(own, onlystatistics.player_visiblestats; permissionhalloween.stats, default true)/halloween stats <player>and every stat:halloween.stats.admin(orhalloween.use)/halloween top <stat> [count](public unlessstatistics.top_public: false)- PlaceholderAPI expansion
halloween:%halloween_<stat>%,%halloween_top_<stat>_<n>_name|value%,%halloween_season_active%,%halloween_witching_hour% - Season end: top N players (
season_end_top,season_end_stat) broadcast + Discord. - Saved every 5 minutes (snapshot, async write) and on shutdown.
Boss bars & titles (visuals)
Health bars for the Pumpkin Monster and the Halloween Boss (players within visuals.boss_bar.radius), a grave
wave bar (Wave 2/3 · 5 mobs left · 1:30, countdown = wave timeout) and titles for boss spawn, wave start and
grave completion (title* categories, Title|Subtitle). Bukkit API only - works on Spigot too.
WorldGuard region flag halloween-events (worldguard)
When WorldGuard is installed the plugin registers the flag (allow by default). /rg flag <region> halloween-events deny
stops scare events, buffs, rewards, bosses, graves and Pumpkin Traders inside the region.
Rewards: command:, money:, candy:
Every rewards: list (bosses, graves) accepts, next to material::
- command: "give %player% cake 1"- console command, run for every participant- money: 100- Vault economy (grave: split by kill share); skipped with a warning without Vault- candy: 5- Halloween Candy (min/max optional)chance:now works for every entry (before 3.4.0 the boss lists ignored it -ZOMBIE_HEAD chance: 0.3dropped every time). Unknown materials are reported in the console instead of being silently skipped.
Halloween Candy & configurable Pumpkin Trader (candy, pumpkin_villager.trades)
A tagged item (default: COOKIE named "Halloween Candy", not edible) drops from grave mobs, random pumpkin mobs,
bat witches and boss/grave chests (candy.drops). The Pumpkin Trader's trades are configurable
(cost/result/max_uses; item: CANDY = the candy item) - defaults keep the classic 1 emerald ↔ 64 pumpkins
and add candy trades. /halloween candy give <player> <amount> for admins. pumpkin_villager.daily_limit
(never implemented) is replaced by per-trade max_uses.
Grave: glowing reward chest, overall completion
- The reward chest gets a glowing outline (visible through terrain) until it is opened - or for
grave.chest_glow.minutes(default 15). Toggle withgrave.chest_glow.enabled. - Completion is now measured over all waves (mobs killed / mobs spawned). Before, only the last wave counted,
so a grave with a timed-out wave 2 still reported "100%" and paid full rewards. A grave finished below 100 %
now says so (
graveFinalCompletion) and scales the chest accordingly.
/halloween reset cooldowns [player]
Clears boss and grave cooldowns for one player or everyone (handy for testing and events).
🔧 Changed / fixed
- Grave: the "30 seconds remaining" warning of a wave that was cleared early no longer fires during the next wave (it is cancelled together with the wave timeout and checks the wave number).
- Pumpkin Traders created by older versions get the configured trades automatically (on startup and when opened),
keeping
max_usesprogress when the offers already match. grave.pumpkin_drops_per_mobwas never read (1 pumpkin at 10 % was hardcoded); it is now honoured together with the newgrave.pumpkin_drop_chance. The shipped default is 1 (unchanged behaviour); configs that set 3 now get 3.- data.yml is written from a snapshot (the previous async save iterated live maps - race condition).
- Boss and grave cooldowns are persisted immediately (they were only saved on the next unrelated save).
/halloween onstarts tasks only for eligible players (was: everyone online).- Soft-dependencies declared:
softdepend: [Vault, PlaceholderAPI, WorldGuard]; new permissionshalloween.stats,halloween.stats.admin,halloween.trigger.
Upgrade
Drop-in for v3.0.5+. New top-level sections (worldguard, season, witching_hour, discord, statistics,
visuals, candy) are appended to your config, pumpkin_villager.trades is inserted into the existing section,
45 new message categories are appended to messages.yml. Everything new is optional; defaults keep current behaviour.
Minecraft 26.3: compiled against the 26.3 API and tested on Paper 26.3 alpha builds – expected to work, marked supported once Paper 26.3 is stable. Full docs: https://softici.gitlab.io/halloween/
