HuskTowns 3.0.2 fixes a console spam error in the previous release
To update from 3.0.1, just drag+drop. To update from v3.0, you may wish to regenerate your flags.yml. You should also regenerate your messages-xx-xx.yml file.
- Fixed a NullPointerException related to flag caching.
HuskTowns 3.0.1 fixes a few issues present in the previous release.
To update, drag+drop. If you haven't modified it, you may wish to regenerate your flags.yml. You should also regenerate your messages-xx-xx.yml file.
- Fixed passive mobs failing to spawn
- Fixed friendly fire not being prevented even if the setting was enabled
- A new locale has been added for describing that players cannot damage town members/allies
- The MONSTER_SPAWNING default flag now also restricts the passive mob spawning operation type if disabled
- It has been renamed "Mob Spawning" in the locale file
- Feel free to create your own custom flags in flags.yml if you want to edit this
- Fixed performance issues caused by passive mob spawning checks (#412)
- Fixed performance issues when using the LuckPerms context hook (#289)
- Calculated flag and rule maps are now cached to improve system performance
Please note, as announced on Discord, starting with this release support for Minecraft 1.16 and Java 16 has been dropped. HuskTowns now requires Java 17 / Minecraft 1.17.1 as a minimum.
HuskTowns 3.0 is a major version release that makes breaking changes to the developer API. Please make sure your plugins that depend on HuskTowns have been updated to support HuskTowns API v3 — for developers, this should be quite easy, but it is a breaking change nonetheless. A few other bug fixes and locale updates have been made for this release, requiring a locale file regeneration.
To update from v2.6.x, just drag+drop and regenerate your locales file (messages-xx-xx). You should not need to touch your other config files unless they are very outdated (regenerate it if so!)
- Improved the way config files are loaded. Config validation on startup will now be more strict.
- Added Korean (ko-kr) locales, courtesy of awrwag
- Updated the Simplified Chinese (zh-cn) locales, courtesy of @jhqwqmc (#392)
- Updated the Spanish (es-es) locales, courtesy of @pipearaneda
- Fixed a bug that meant servers using a MySQL/MariaDB database that encountered a startup problem involving the loading of town data would not properly terminate plugin initialization.
- Fixed a bug where issues with the serialization of Map objects in Towns would not be correctly handled were a duplicate key to be inserted into them
- API: API v2 (and the original deprecated API v1) have been removed.
- The way the HuskTowns API is published has been changed: APIs are now published per-platform; husktowns-bukkit and husktowns-common can now be targeted.
- Simply update your build scripts to target the net.william278.husktowns:husktowns-bukkit artifact
- HuskTownsAPI is no longer an abstract class; you can now retrieve an instance of the base class with HuskTownsAPI.getInstance()
- HuskTowns now uses ClopLib
- The built-in Operation.Type is now OperationType.
- Operation and OperationType now live in the net.william278.husktowns.libraries.cloplib package.
- This is the same system in use on my other plugin, HuskClaims.
- Added API methods for getting a player's Privilege.
- Fully documented the API (at last!).
HuskTowns 2.6.1 fixes bugs introduced in the last release (particularly with the War module), and updates compatibility with 1.20.4.
To update from v2.6, just drag+drop. Check the v2.6 patch notes if you're uploading from an earlier version for instructions—you'll want to regenerate your config files!
- The plugin will now use the native adventure implementation on Paper servers, improving support for future MC versions and adding support for 1.20.4.
- Fixed an exception generating map hook chunk highlights for towns with UTF-8 names (#375)
- Fixed bucket fill and empty operation handlers checking against the wrong event Block, letting users place fluids on claim edges (#383)
- Fixed war wagers not being subtracted at start, meaning towns got paid more than the sum of wagers (#380)
- Fixed war win-check logic being inverse when determining who won a war by alive members (#379)
- Fixed a NullPointerException being thrown when trying to modify the relations map of a town migrated from <2.6 due to the migrator not instantiating a new Map.
- Fixed wartime flags being applied to users other than active battle participants (#378)
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.Note: To upgrade to this release from v2.5.x and earlier, please 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!
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!
- Added Town Relations (#334)
- 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
Thank you, and enjoy!