HuskTowns 2.6 is a major release of HuskTowns adding
Town Relations (
ON by default),
Town Wars (
OFF by default), and several useful quality-of-life features for both players and admins. It also fixes a number of bugs, adds a new API event, and updates locales.
Towns can now mark other towns as an "ally" or "enemy" to manage a list of relations
Command for managing relations is /town relations [list (town)|set <ally|neutral|enemy> <other_town>]
The MANAGE_RELATIONS privilege (default role: Trustee) is required to manage town relations.
This system can be turned off in config.yml. It is ON by default.
Added Town Wars. This feature is currently experimental and a work-in-progress — please send in your feedback! (#334)
Allows towns which have marked each other as an "enemy" to go to war
Command for managing war is /town war <accept|declare|surrender|view>
This system can be turned on in config.yml. It is OFF by default, and requires town relations to also be ON.
A town can declare war on another town, and specify a wager; the victor of the war will have the wager added to their coffers
War declarations work cross-server, but the war battle itself will take place on the server the defending town's spawn is set.
The DECLARE_WAR privilege (default role: Mayor) is required to send or accept declarations of war.
When a war declaration is accepted, the town that declared war will be teleported. All members of the defending town will be teleported to their spawn.
Participants in a war are removed from the war if they are killed (or otherwise die) and if they leave a configurable radius of the defending town's spawn.
During a war, special war flags apply on the defending town's claims. You can customize these flags depending on your particular flavor of chaos — allow full destruction, or lock down to just allowing PvP!
A town loses a war if they no longer have any online war participants. If three hours elapse or if the server restarts, the war will be declared a stalemate (both towns will lose their wager if this occurs). Towns can also surrender a war with /town war surrender.
The status of a war is displayed in the Boss Bar (which will display the remaining war participants to defeat) as well as in the war overview menu /town war (which will show a text-based graphic bar indicating the current balance of an active war)
A town cannot declare war again for another 48 hours (this cooldown is configurable)
Added a new admin command for managing town balances: /admintown balance
Lets admins set, add, or remove money from the coffers of towns
Add town points as fallback currency for servers without Vault (#342)
If Vault is not installed/detected, the currency used for towns will be an integer-based "Town Points" (example format: 100pts)
Town points can be added to towns with /admintown balance (add|remove|set)
Town points can also be earned as part of advancement rewards
This lets servers not using an economy use HuskTowns standalone and award points to towns through other means, to allow towns to level up
Town members can now self-claim vacant plots (#369)
To do so, members can simply stand in a vacant town plot and type /town plot claim
This will add them to the plot as a manager
Requires the CLAIM_PLOT privilege (default role: Member)
The /town census menu will now show if a member is online
Online members will appear green in the census list, and you can hover to view their online status
This also works on cross-server setups; Redis is recommended for this feature in particular!
The plugin will now automatically create a backup of the SQLite database on startup (#368)
Updated the Simplified Chinese (zh-cn) locales, courtesy of @MSCMDD (#345, #370)
Fixed the plugin not restricting interactions when a player was holding an item that had been deactivated (e.g. Ender Pearls on cooldown, Shields disabled with an axe attack) (#351)
Fixed no message being displayed when attempting to level-up a town when the town had already reached the max level.
API: Added a PostTownCreateEvent, to let you handle when a town has been created. (#336)
API: Fixed the user involved in the MemberJoinEvent, MemberLeaveEvent, MemberRoleChangeEvent and MemberRoleChangeEvent, courtesy of @thomasz05
To update, drag+drop and regenerate your config files. You should regenerate your config.yml and messages-xx-xx.yml files. If you haven't modified them from the previous default, you should also regenerate rules.yml and roles.yml; otherwise, don't forget to add the new wartime rules / action privileges to their respective files!