Skip to content

Releases: WiIIiam278/HuskTowns

HuskTowns 3.0.5 - Minecraft 1.21, bug fixes

18 Jun 23:14
052e9c3
Compare
Choose a tag to compare

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 and town_leaderboard_{type}_{index} placeholders now can get an extensive town information, like mayor, 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 example 1003000 will be converted to 1M3k.
    • Leaderboard placeholders now can be parsed without providing a player.
  • 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

09 Apr 19:18
cea319b
Compare
Choose a tag to compare

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

04 Apr 17:21
4362057
Compare
Choose a tag to compare

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

19 Feb 13:11
2aee5e4
Compare
Choose a tag to compare

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

19 Feb 10:18
92169d8
Compare
Choose a tag to compare

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

05 Feb 14:14
901c820
Compare
Choose a tag to compare

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 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!).

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

14 Dec 12:57
f01a5a3
Compare
Choose a tag to compare

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 new Map.
  • 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!

25 Nov 18:11
cf9bacc
Compare
Choose a tag to compare

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!

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
  • 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!

Thank you, and enjoy!

📋 Official HuskTowns binaries are only distributed on Spigot, Polymart, Craftaro, or BuiltByBit.

HuskTowns 2.5.4 - /admintown setlevel & bug fixes

10 Sep 11:46
Compare
Choose a tag to compare

HuskTowns 2.5.4 adds an /admintown setlevel command, makes a range of bug fixes, and adds a few new API methods for developers.

  • Added a new /admintown setlevel command to let administrators manually set the level of a town
    • Usage: /admintown setlevel <town> <level> (where level is between 1 and the maximum configured level)
    • Permission node:husktowns.command.admintown.setlevel
  • The /town level command will now prompt you for confirmation with the cost needed to level-up before levelling up a town (#37)
  • Added the next level cost to the town overview screen (it is shown when hovering over the town's current level) (#218)
  • Added a new operation type: ENDER_PEARL_TELEPORT. This restricts the teleportation into claims using ender pearls or chorus fruit (#313)
  • Right clicking a sign will now be restricted unless you have the block place permission, to prevent players from editing signs in claims (#321)
  • Players will now be removed from town chat mode when leaving or being evicted from a town (#316)
  • Fixed an issue where operation checks carried out for the PlaceholderAPI hook would occur verbosely, sending a chat message (#312)
  • Fixed an issue where editing the town rules would sometimes not be possible occasions due to the rules map being generated with an immutable map (#311)
  • Fixed an issue where the projectiles of shooting monsters could not damage players in claims (#315)
  • Added Russian (ru-ru) locales, courtesy of ADAMADA8 (#309)
  • API: Added various methods to highlight chunk(s) with particle effects (#319)
  • API: Exposed methods for generating chat claim maps (#320)

To update, you should regenerate just your locale files. Thank you!

📋 HuskTowns binaries are only distributed on Spigot, Polymart or Craftaro.

HuskTowns 2.5.3 - Pl3xMap support & improvements

12 Aug 14:17
1dd0c25
Compare
Choose a tag to compare

HuskTowns 2.5.3 adds support for Pl3xMap, adds a few new configuration features, and fixes several bugs. It also makes a small API change related to town colors.

  • Added support for hooking with Pl3xMap (v3) to display town claims on your map, courtesy of @CoolDCB (#303)
  • Added the ability to specify the regex filters used for restricting town names. (#305)
    • Town names now only accept alphanumeric characters, underscores, and hyphens by default
    • The configuration options for this have changed. Please regenerate your config or check the docs for the new settings
  • The color picker now uses a horizontal pipe (|) as the swatch for better 1.20.1+ Unifont legibility
  • The default "flag enabled" locale (used in the /town rules menu) has been changed to (a checkmark) to better express that it means a flag is enabled
  • Commands are now also registered dynamically for server still running Spigot (as opposed to Paper servers)
  • Fixed an issue where the town color command would not correctly work depending on the system environment the server was running on (#304)
  • Fixed an issue where the monster spawning flag would not correctly prevent monsters from spawning when disabled (#283)
  • Fixed a NoSuchElementCheck exception that could sometimes appear in the server console if Town Advancements were disabled
  • API: Town colors are now represented using adventure TextColors instead of java.awt.Color objects.
    • The #getColor() method on the Town object has been deprecated as of this release; please use the new #getTextColor() method instead

To update, you should regenerate just your config and locale files. Thank you!

📋 HuskTowns is a premium plugin; binaries are not distributed on GitHub. Please purchase the resource from Spigot, Polymart or Craftaro.