Skip to content

Latest commit

 

History

History
53 lines (40 loc) · 2.61 KB

File metadata and controls

53 lines (40 loc) · 2.61 KB

Infestations

Seed monster infestations across TF-Minecraft provinces and let players clear them with lure raids.

Infestations ties MythicMobs encounters to SimpleFactions provinces. An infested province harasses players with ambient monsters until a party places a lure, commits to the fight, and defeats every monster the lure draws in.

Features

  • Province infestations — administrators assign a configured mob group and severity to a land province, with at most one infestation per province.
  • Ambient harassment — MythicMobs spawn around players inside an infested province, with per-severity caps, intervals, and spawn rings, plus optional night-only, minimum-height, and terrain rules.
  • Lure raids — an InteractibleFurniture lure opens a join window, then releases a paced wave; defeating the full wave clears the infestation.
  • Committed parties — a committed player who leaves the province takes damage until they opt out of the fight. Losing the whole party fails the lure, bystanders who stay are warned and damaged, and logged-out players get a grace period.
  • Optional spread — idle infestations can worsen and spread to neighbouring land, including across a single water or sea province.
  • Map and persistence — infestation severity is exported to the SimpleFactions map service, and infestation and lure state survive restarts.

Originally created by Drefvelin.

Documentation

Project documentation

Technical documentation is maintained in TF-Minecraft/Docs.

Tests and coverage

Run mvn clean verify with Java 21 and the pinned plugin dependencies installed. Tests use JUnit, MockBukkit, and Mockito, with Surefire reports in target/surefire-reports/. The build enforces 100% executable-line coverage across all production Java classes, with no coverage exclusions. JaCoCo's HTML and XML reports are written to target/site/jacoco/ and uploaded by the Build workflow. Branch and instruction coverage are reported separately; the enforced threshold is line coverage. Build and maintenance scripts are outside this runtime-code metric. The suite simulates Bukkit and external plugins; it does not validate live Paper spawning, MythicMobs encounters, or map-service behaviour.

License

Copyright (c) 2026 TF-Minecraft contributors.

TF-Minecraft-authored material in this repository is licensed under the Artistic License 2.0. Third-party dependencies and pre-existing material retain their own licenses.