## Problem
During winter, every skeleton spawn was cancelled and replaced with a stray —
including spawns fired by mob spawners (and trial spawners). The same happened
in summer, where zombie spawners were converted into husk spawners.
Mob spawners limit their output by counting "similar entities" — entities of
the **same `EntityType`** — within their spawn area
(`Spawner#getMaxNearbyEntities()`). Since the converted skeletons/zombies never
entered the world and the replacement strays/husks are a different type, the
spawner's cap was never reached: it kept spawning on every spawn delay,
producing an **unlimited** number of strays/husks around any skeleton/zombie
spawner (dungeons, spawner farms, etc.).
## Fix
Season conversions now only apply to non-spawner spawns:
- `WinterEffects` — skeletons spawned by a spawner are left as skeletons;
natural (and other non-spawner) skeletons are still converted to strays.
- `SummerEffects` — zombies spawned by a spawner are left as zombies;
natural zombies are still converted to husks.
Spawner detection is defensive and covers all spawner paths in the 26.2 API:
`SpawnerSpawnEvent`, `TrialSpawnerSpawnEvent`, and
`CreatureSpawnEvent` with reason `SPAWNER`, `SPAWNER_EGG`, or `TRIAL_SPAWNER`.
This also matches vanilla behavior, where biome-based mob conversions
(e.g. skeletons → strays in snow) only apply to natural spawns, and the
behavior documented in the README ("skeletons that spawn **naturally**").
## Other changes
- Spigot API: `26.1.2-R0.1-SNAPSHOT` → `26.2-R0.1-SNAPSHOT`
(`build.gradle`, `plugin.yml` `api-version`)
- PlaceholderAPI (soft dependency): `2.12.2` → `2.12.3`
- Plugin version: `1.4.0` → `1.4.1`
## Testing
- Builds cleanly against `spigot-api:26.2` (JDK 25).
- In-game: 11×11 room, skeleton spawner with `MaxNearbyEntities:6` — in winter
the spawner now spawns skeletons, stops at 6, refills as they die, and never
spawns a stray. Natural `/summon skeleton` is still converted to a stray.
Same verified for summer with a zombie spawner (husks).
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }