![[IMG]](//proxy.spigotmc.org/caac02ba21955b71dce8bd406c616979d29f9e88/68747470733a2f2f706f7374696d672e63632f687a4a526d74746d)
#
TownyRaids
A Paper addon for [Towny Advanced](
https://github.com/TownyAdvanced/Towny) that adds a complete town-vs-town raid system. Declare a raid on a rival town, watch the preparation timer count down, fight through the battle phase with custom flags, or settle the conflict with a tribute payment between town banks.
##
Highlights
-
Two-phase lifecycle. A `PENDING` preparation window gives the defender time to react, then `BATTLE` flips the configured flags (PvP, explosions, fire, mob spawning) on the defender's town until the timer runs out.
-
Boss bars + titles. Every raid shows a synchronized boss bar with the live phase timer to both attacker and defender residents, plus titles on every transition.
-
Tribute system. The attacker can demand a tribute (`/t tribute request <amount>`); the defender accepts or denies (`/t tribute accept|deny`) — money moves between town banks through Towny's economy and the raid is cancelled.
-
Persistent state. All active raids and cooldowns are stored in SQLite (default) or MySQL via HikariCP. The plugin survives restarts and resumes scheduled phase transitions on startup.
-
Admin toolbox. Full `/ta raids` command for reloads and forced state changes.
-
Cooldowns + protections. After a raid ends the attacker enters a cooldown and the defender enters a protection window — both configurable.
-
Confirmation flow. Declarations go through Towny's native confirmation prompt so misclicks are safe.
-
MiniMessage everywhere. Every visible string is in `lang/<code>.yml`, parsed with MiniMessage. Bundled translations: English, Russian, Spanish, Turkish.
##
Requirements
- Paper
1.21.4 (or compatible)
- Towny
0.102.0.14 (or newer)
- Java
21
- A Vault-compatible economy plugin
##
Quick start
1. Install Towny and a Vault-compatible economy.
2. Drop `TownyRaids.jar` into `plugins/`.
3. Start the server once to generate `config.yml` and the `lang/` folder.
4. Adjust `language: en|ru|es|tr` and tune timings/flags as needed.
5. Players can now use `/t raid <town>` to declare.
Source code & issues:
https://github.com/afterburnerr/TownyRaids