Releases: WiIIiam278/HuskTowns
HuskTowns 3.0.7 - Bug fixes
HuskTowns 3.0.7 fixes several bugs.
- Players now require build trust by default to start raids in town claims.
- Fixed a race condition when loading map hooks
- Fixed damage dealt by the Sweeping Edge enchantment causing player damage in some cases, even when the PVP flag was disabled
- Fixed thrown eggs & lit arrows by non-trustees can hatch chickens & light campfires in claims
To update, drag+drop and add the START_RAID
operation type to the PUBLIC_BUILD_ACCESS
flag in flags.yml
.
HuskTowns 3.0.6 - Bug fixes
HuskTowns 3.0.6 is fixes a few bugs present in the previous release.
- Added Traditional Chinese (zh-tw) locales, courtesy of @yichifauzi (#494)
- Added German (de-de) locales, courtesy of @Bensonheimer992 (#492)
- Fixed using an ender pearl within a claim not working properly due to an improper victim damage check (#505)
- Fixed a NullPointerException that could occur when a dynmap marker marker was removed, courtesy of @Rubenicos (#501)
- API: Added new events for town wars:
TownWarCreateEvent
andTownWarEndEvent
, courtesy of @thomasz05 (#491)
✅ Compatible with: Spigot/Paper 1.17.1-1.21.1 (download the right version for your server).
HuskTowns 3.0.5 - Minecraft 1.21, bug fixes
HuskTowns 3.0.5 adds support for Minecraft 1.21, adds more placeholders, and fixes bugs.
- Added support for Minecraft 1.20.6 and Minecraft 1.21
- Town advancements have been temporarily disabled in this release due to a compatibility issue
- Significantly improved the PlaceholderAPI hook, courtesy of @Rubenicos (#463)
- All the
current_location_town
andtown_leaderboard_{type}_{index}
placeholders now can get an extensive town information, likemayor
,members
,member_count
,claim_count
,max_claims
,max_members
,crop_growth_rate
,mob_spawner_rate
,money
,money_formatted
,level_up_cost
,level
,max_level
. - New
money_formatted
placeholder to get town money with a short formatting method, for example1003000
will be converted to1M3k
. - Leaderboard placeholders now can be parsed without providing a player.
- All the
- Fixed the WorldGuard hook failing to initialize in most cases, courtesy of @ProdPreva1l (#468)
- Fixed calculated flags not caching correctly, causing performance regressions (#458)
- Removed the "brigadier tab completion" and commodore support. A better solution will be implemented in the future.
To update, just drag+drop.
📋 HuskTowns binaries are only distributed on Spigot, Polymart, or BuiltByBit.
HuskTowns 3.0.4 - Hotfix
HuskTowns 3.0.4 fixes a critical bug in the previous release, v3.0.3.
- Fixed town claims failing to persist in 3.0.3
To update, just drag+drop.
📋 HuskTowns binaries are only distributed on Spigot, Polymart, or BuiltByBit.
HuskTowns 3.0.3 - Better performance, WorldGuard hook
HuskTowns 3.0.3 improves plugin performance and adds a WorldGuard hook.
- Significantly improved claim caching for faster lookups. This should have considerable performance improvements for larger servers.
- Added WorldGuard API hook for land claim prevention, courtesy of @ProdPreva1l (#435)
- Added config options for changing chat characters used in the town map, courtesy of @ProdPreva1l (#427)
- Updated the Simplified Chinese (zh-cn) locales, courtesy of @jhqwqmc and @MSCMDD (#421, #426, #439)
- Fixed some missing startup error trace logging
To update, just drag+drop.
📋 HuskTowns binaries are only distributed on Spigot, Polymart, or BuiltByBit.
HuskTowns 3.0.2 - Hotfix
HuskTowns 3.0.2 fixes a console spam error in the previous release
- Fixed a NullPointerException related to flag caching.
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.
📋 HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.
HuskTowns 3.0.1 - Bug fixes
HuskTowns 3.0.1 fixes a few issues present in the previous release.
- 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
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.
📋 HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.
HuskTowns 3.0 - API changes, bug fixes
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 regneration.
- 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
andhusktowns-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 nowOperationType
. Operation
andOperationType
now live in thenet.william278.husktowns.libraries.cloplib
package.- This is the same system in use on my other plugin, HuskClaims.
- The built-in
- Added API methods for getting a player's Privilege.
- Fully documented the API (at last!).
- The way the HuskTowns API is published has been changed: APIs are now published per-platform;
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!)
📋 HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.
HuskTowns 2.6.1 - Bug fixes, 1.20.4
HuskTowns 2.6.1 fixes bugs introduced in the last release (particularly with the War module), and updates compatibility with 1.20.4.
- 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 newMap
. - Fixed wartime flags being applied to users other than active battle participants (#378)
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!
📋 Official HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.
HuskTowns 2.6 - Relations, Wars, Quality-of-Life & More!
Note: To upgrade to this release from v2.5.x and earlier, please regenerate your
config.yml
andmessages-xx-xx.yml
files. If you haven't modified them from the previous default, you should also regeneraterules.yml
androles.yml
; otherwise, don't forget to add the new wartime rules / action privileges to their respective files!
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.
- 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
- If Vault is not installed/detected, the currency used for towns will be an integer-based "Town Points" (example format:
- 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)
- To do so, members can simply stand in a vacant town plot and type
- 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
andMemberRoleChangeEvent
, 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!
Thank you, and enjoy!
📋 Official HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.