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 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 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 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.
- Fixed a NullPointerException related to flag caching.
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.
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.
- 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 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!
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!
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 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 2.5.2 adds support for MariaDB and makes a few bug fixes, including a critical fix for town advancement users.
- Added support for MariaDB (#300)
- Fixed money and level town advancement reward distribution systems being swapped (#302)
- The "Tax Deductible" town advancement would attempt to reward towns 1000 levels instead of 1000 units of currency when depositing, causing towns to jump to max level when an advancement check occurred
- Fixed an issue that meant the unique depositors advancement condition was not being calculated correctly
- Fixed the database not having the schema version set after initialization for the first time, causing a warning to appear in console the first time the server would be restarted
- Fixed various config options, such as the database type, requiring capitalization and throwing an error if they were slightly off
- Updated some internal logic to prepare for supporting Folia (Full folia support is not yet implemented.)
- Added French (fr-fr) locales, courtesy of XeroYT
To update from 2.5.1, just drag+drop.
HuskTowns 2.5.1 fixes a few bugs found in the previous release. Please note support for RedisEconomy has been dropped starting with this release.
- Removed the RedisEconomy hook due to instability
- Fixed players not being able to kill monsters that randomly spawn with armor in farm chunks (#277)
- Attempted a fix for an issue that meant monsters could still spawn even when the flag to disable spawning was set (#280)
- Fixed pillagers being able to shoot projectiles that could destroy armor stands, item frames, etc. (#281)
To update from 2.5, just drag+drop.
HuskTowns 2.5 adds the ability to customize the town flags through a new flags.yml
file and fixes a few bugs.
- Add support for customizing town flags (#273)
- A new
flags.yml
config file will be generated on startup - Flags defined by ID in this file can then be mapped to default values for each claim type in your
rules.yml
file. - Note that existing towns will not assume new defaults added to the rule presets later on (and flags in this file will only be displayed in
/town rules
if a default has been applied); provided users have permission, users must apply the flags manually to their town with/town rules <claim_type> <name> <true/false>
- Servers should have the same flag set configured -- but if there's a mismatch, missing flags will simply go ignored and not be displayed in /town rules.
- You can define display names for flags by adding them to your locales file
- A new
- Fixed an issue where monsters could not be killed by town members due to the wrong persistence check being performed (#272)
- Added PLAYER_INTERACT_BLOCK into the set of allowed actions for
public_farm_access
to fix an issue where placing crops would be cancelled by the surface player interact check - Fixed an issue where interacting with an item in the off hand would display an error if the operation were to be denied instead of this happening when interacting with the main hand
- Fixed an issue that may occur on some paper forks where dependencies would not correctly load due to an incorrect config default on some paper 1.19.4 implementations (note this may not fix compatibility with Purpur 1.19.4, but has been done anyway)
- API: New methods for getting and registering flags to the flag map have been added. Old
Flag.NAME
enumerations have been deprecated, though it's not anticipated that this introduces any breaking API changes.
To update, just drag+drop, as there's no config changes—you should see a new rules.yml
config appear, which you can edit if you wish. Once again, please use the latest build of Paper if you're still on 1.19.4 and note that some forks will not be compatible due to paper-plugin yaml schema changes. All other versions are unaffected.
HuskTowns 2.4 adds the ability to automatically prune inactive claims, re-adds the /town player command, and makes a significant number of minor bug fixes and improvements.
- Added the ability to prune inactive claims, both automatically and through a command (#255)
- The command to do this is
/admintown prune <time> [confirm]
, requiring thehusktowns.command.admintown.prune
permission node - You can also configure this to be done automatically on startup (this is off by default); a new section has been added to the config file letting you enable this and set a number of days before this occurs
- The command to do this is
- Re-added the
/town player <name>
command (alias:/town who
), requiring thehusktowns.command.town.player
permission node, which tells you which town a player is in and the role they have in that town. - Improved the boosted crop growth and mob spawning rate system (#268)
- Fixed issues with the rate calculations that prevented this system from properly working
- Added purple particle effects whenever a crop is grown faster or extra mob is spawned thanks to a boosted growth rate chance (you can configure which particle to use and/or turn this off in the config file)
- The numbers accepted for crop/mob rate boosts now accept full 100-point-scale percentage values instead of decimal values
- Added four new placeholders for crop/mob rate boosts; two for the player's town, and two for the town who owns the claim the player is standing in (#266)
- Added new locales for the
/town list
key sort option buttons (#267) - Made it so entering a town name with a space in it will now cancel the town creation with a validation error message, instead of just creating a town with the first part of the user's entry before the space (#208)
- Added more comments across the different plugin config files to improve the setup and configuration experience
- Updated the
special_types
file to contain new 1.20 plants, and added seeds to the crop list to let players properly replant in farms - Fixed
/admintown bonus
and/town unclaim all
not TAB completing correctly - Fixed
/admintown unclaim all
missing a confirmation step in certain circumstances, causing users to delete their own town's claims
To update to this release, it's strongly reccommended that you regenerate both your config.yml
, messages-xx-xx.yml
and especially your levels.yml
files. When you do so, be sure to make a copy of the files and re-enter any changes you made to the default config (except changes to the percentage values for crop/mob boosts, as detailed previously). This build introduces database changes, and migrations will automatically be carried out on startup—you may wish to take a backup of your database however just in case.
Please note this release is not compatible with Purpur 1.19.4; this is because the last build of Purpur for that version does not include a correct implementation of paper-plugin.yml schema changes made in the last builds of Paper for 1.19.4. As a result, if you're running Paper on 1.19.x, make sure you download the latest Paper version.
Thank you!
HuskTowns 2.3.2 makes a few small quality-of-life improvements and fixes, and has been tested to work with Spigot on Minecraft 1.20. Make sure you are running the absolute latest version of Paper 1.19.4 for this release if you're still on that! Paper 1.19.3 is no longer supported with this build due to paper-plugin config changes (All other versions are fine).
- Added the ability to define aliases for the
/town
command on Paper servers, courtesy of @imhinotori (#257)- The
aliases
section of the config file lets you customize which aliases to support. One alias is present by default:/t
- The
- Added protection against nether portal exits being created in claimed chunks (#114)
- This fixes a common annoyance whereby users dirty protected town regions with exit portals they cannot destroy and would not have otherwise been allowed to build
- If someone has claimed a chunk on the other side of where a portal would be generated for a user without permission when entering the portal, the exit portal will no longer be allowed to generate
- Relevant action:
BLOCK_PLACE
- Added Turkish (tr-tr) locales, courtesy of tyristana
- Fixed an issue where name-tagged monsters were not protected from outside users being able to kill them like regular monsters
To update from 2.3.1, you should regenerate your config.yml file. Songoda customers: Since the last release, Songoda has been renamed to Craftaro. Purchases were automatically moved to the new Craftaro site.
HuskTowns 2.3.1 is a minor release to fix a few bugs and improvements, especially pertaining to the /admintown
command.
- Updated the syntax of the /admintown bonus command to let you specify a town by the username of a player in that town
- New usage:
/admintown bonus <town|user> <name> [args...]
- This is useful for stuff like offering town bonuses as rewards through plugins that execute the command to apply the bonus
- New usage:
- Fixed an issue affecting certain setups where long world name types (>16 characters) could sometimes not fit in the database column
- Fixed the town spawn coordinates being visible, even if the town spawn was set to private
- Fixed unclaimable world rules incorrectly using wilderness rules in certain cases, courtesy of @Riksou (#250)
- Fixed the
/admintown ignoreclaims
command not displaying a locale correctly, courtesy of @Riksou (#251)
To update from 2.3, just drag+drop! Enjoy.
HuskTowns 2.3 adds some new config options for setting a town creation cost, re-adds shift+right clicking to inspect nearby chunks while holding the inspection tool, adds advancement rewards, and adds support for running HuskTowns as a paper plugin.
- Re-added the ability to hold shift when right clicking while holding the claim inspection tool to inspect all nearby claimed chunks. (#229)
- Added an option to config.yml to use the level 1 deposit requirement as the collateral requirement for creating a town (#230)
- Added certain rewards for completing town advancements, including a few item rewards in the default advancements.json file (#227)
- Added support for running HuskTowns as a Paper plugin on Paper servers running 1.19.4+ (#226)
- Added a config option to let you specify which slot to display town entry/exit and teleport complete notifications in (#228)
- Fixed a ConcurrentModifcationException caused when using HuskTowns with certain hooks (#224)
- API: Added an option to set the advancements being used programatically (#227)
To update to 2.3, you must regenerate your config and messages files. You may also want to regenerate your advancements.json file in plugins/HuskTowns/ if you want as it's been updated with new rewards. Enjoy!
HuskTowns 2.2.1 fixes an issue with players on login
- Fixed an IllegalArgumentException that occured when users logged in
- HuskTowns now requires HuskHomes v4.1.1
To update from v2.2, just drag+drop. If you're updating from an earlier version, please regenerate all your config, server & locale files.
HuskTowns 2.2 adds a fun new town advancements system and updates & moves the PlaceholderAPI expansion to be within the plugin.
- Added town advancements, which provide a fun new way of keeping your players engaged, by providing interesting town-related goals and helping them learn how to use the plugin (#210)
- Data-driven through a custom format and can be modified to your liking by editing the advancements.json in /plugins/HuskTowns
- Adding rewards to advancements is planned in the future
- Can be turned off altogether with the town_advancements setting under general
- Added /admintown advancements
- Lets you view a list of advancements in chat and reset your player's internally-cached advancement progress.
- Added a hook for PlaceholderAPI, replacing the existing PlaceholderAPI expansion that required a separate eCloud download
- Please uninstall the existing HuskTownsPlaceholders hook by removing it from your expansions folder and restarting your server
- Added 4 new placeholders that return a town name based on the top towns in respective categories:
- %husktowns_town_leaderboard_members_{index}% placeholder
- %husktowns_town_leaderboard_claims_{index}% placeholder
- %husktowns_town_leaderboard_money_{index}% placeholder
- %husktowns_town_leaderboard_level_{index}% placeholder
- Added a %husktowns_current_location_town_color% placeholder (returns wilderness color if not in a town claim)
- Fixed the town color placeholder not returning gray if the user was not in a town.
- Fixed an issue with the RedisEconomy hook where transactions would not report as complete correctly (#212)
To update, you can drag+drop. You should regenerate your config and locale files for this release.
HuskTowns 2.1.1 is a small release to update the plugin for compatibility with HuskHomes v4.x and address a few bugs.
- The plugin hook with HuskHomes is now compatible with HuskHomes v4.x. Please update HuskHomes to version 4.x if you have not done so already.
- Fixed an issue where players could get stuck in town chat mode if the town was disbanded while offline and toggled into speaking in the town chat channel (#201)
- Bumped some dependencies
To update, just drag+drop. There are no config changes. Note that this release requires HuskHomes v4.x for cross-compatibility with that plugin. If you don't want to update to HuskHomes v4, you can disable the HuskHomes hook through the plugin config.
HuskTowns v2.1 adds the ability to /unclaim all of a town's chunks at once, adds some new config options and QoL, makes some locale improvements, and fixes various bugs.
- Added the ability for a town to unclaim all its chunks with /town unclaim all (#192)
- An equivalent command for administrators has also been added; /admintown unclaim <town> [all]
- Added a config option (towns.require_claim_adjacency) to require that town claims made be adjacent (#193)
- The display name of town rules is now localisable, courtesy of @WuzzyLV (#185)
- Added transaction reasons to the RedisEconomy hook, courtesy of @Emibergo02 (#187)
- Added a config option to automatically set the town spawn when the first claim is made, courtesy of @HookWoods (#191)
- Added Simplified Chinese (zh-cn) locales, courtesy of Wtq_
- Fixed an issue that prevented the town deeds menu from correctly showing the claim squares (#186)
- Fixed the version checker incorrectly reporting that a new version was available
- Fixed a NullPointerException that could occur when using the HuskHomes hook, courtesy of @Emibergo02 (#190)
To update, just drag+drop. You should regenerate your config and messages files for this release.
HuskTowns 2.0 is a major rewrite of HuskTowns that brings forth massive improvements to the data loading system, redesign chat interfaces, a simplified command structure and a whole host of other quality of life changes, new features and improvements.
- The plugin has been rewritten from the ground up with a much more elegant internal code structure.
- Massively improved data load times. Town and claim data is now saved as json objects in the database, which has undergone a schema redesign.
- Redid all user interfaces and messages, bringing them in line with my other plugins.
- Redid the command syntax and permissions listings for most commands. Please check the updated commands list.
- Separated the config into multiple files to make it easier to read and edit; config.yml, levels.yml, roles.yml and rules.yml
- Added town audit logs (/town audit).
- Whenever a change is made to a town (new members, promotions, demotions, evictions, renamed, etc...) it will be logged.
- You can now change the color of your town (/town color)
- An interactive chat menu is also available to help you choose
- Reworked how town plots work slightly
- Town plots no longer have an "owner"; instead, they have a group of members, some of which are "managers", who can add additional members
- The /town plot command has been updated as a result
- Removed the ability for members to "claim" unoccupied plots, for the time being (this will be re-implemented eventually)
- Added two new perks for leveling up a town; crop growth and mob spawner spawning rates will now increase in farm chunks as the town levels
- Added a command for an administrator to assume ownership of a town, which will force-join a town and set them as the mayor (/town takeover)
- Reworked the town bonuses system;
- The person who applied the town bonus is no longer logged with the bonus, but rather in the town's audit log instead
- Two additional town bonuses have been added to let administrators apply bonuses to the crop growth rate and mob spawner spawn rate boosts in farm chunks
- Added a town spawn privacy admin bypass permission node, to allow administrators to teleport to private town spawns
- Reworked the town claim list (now town "deeds") to provide a better visual overview of the number of claims made by a town
- Added additional sorting options for the town list and improved its interface.
- The plugin will now persistently save player preferences, including if they have town chat, auto-claiming and ignore-claims toggled.
- When using the /map command, the plugin will now highlight the chunk the user is standing in
- Slightly improved the way in which chunks are highlighted; particles will now always highlight slightly within the chunk borders
- More commands, such as the town list command, can now be executed through the server console
- Added brigadier syntax highlighting to commands via commodore
- Added additional sub command list ("help") menus which display the command syntax
- Added support for Plan (Player Analytics); the plugin will now provide an overview of town data on player and server pages.
- Added a new LuckPerms context provider to the hook (husktowns:town-level), which is set to the level of the player's town
- Updated support for BlueMap and Dynmap to their latest API version
- Removed the default set of shortcut commands. You can define aliases in commands.yml at your discretion to replicate these if you miss them.
- Removed the ability for towns to color format the town bio, greeting and farewell messages due to it conflicting with menu formatting
- Removed the ability to auto-claim admin chunks
- Removed two online player tracking features, for the time being (this will be re-implemented eventually):
- Removed TAB completion for the invite command
- Removed the Online Status of players in the town member list (now "census")
- Fixed a number of claim protection issues, including the ability for outsiders to extract honey from protected beehives, among others
- Placeholders: HuskTowns' PlaceholderAPI expansion ("HuskTownsPlaceholders") has been updated to v2.0, with a new set of placeholders.
- If you're using this, please download the expansion update from the eCloud.
- API: Added a new Developer API@v2 with vastly expanded capabilities, including the ability to edit towns and make claims through the API
- The new API even provides consumer methods for easily editing towns
- HuskTowns API@v1 has been deprecated but is still implemented. Most plugins built to use the old API should still work provided they don't make calls to old internal methods.
- Consult the API docs for more information
- API: Added three new API events: MemberJoinEvent, MemberLeaveEvent and MemberChangeRoleEvent
To update from v1.8.2, you must follow the legacy migration upgrade guide.
Enjoy!
HuskTowns 1.8.2 is a minor feature and bug fix update to address a few critical issues with v1.8.1. It is my intention that this will be the last release of the v1.x line of HuskTowns releases.
Development of HuskTowns v2.x is underway. The main goals of v2.x will be to overhaul the data format to speed up cache times and pave the way for new features and better plugin interoperability.
- Added support for RedisEconomy, courtesy of @Emibergo02 (#163)
- Fixed /t invite missing its' alias and /t info having permissions missing, courtesy of @Skizzles (#141)
- Fixed an error that could occur when updating a player's role cross-server (#172)
- API: Added PlayerEnterTownEvent & PlayerLeaveTownEvent, courtesy of @Oribuin (#162)
To update, just drag+drop. I'm hoping to get development releases for v2.x out starting by the end of the new year.
HuskTowns v1.8.1 makes a number of fixes and improvements, such as fixing an issue with the shading of commons-text, adding a Traditional Chinese locale and reorganizing some packages internally.
I'm working towards a big update that will change how claims are cached in the future to make things much more optimal at scale. This release doesn't contain any of that just yet, but it does make a few incremental steps towards that release.
- HuskTowns is now compatible with HuskHomes v3's API. If you were using HuskHomes v2, you must now upgrade.
- Fixed a ClassDefNotFound error caused by improper shading of commons-text
- A number of libraries are now downloaded at runtime to save jar file size. Library shading has been tweaked as a result
- Updated the plugin information screen and update checker to use DesertWell, in line with HuskHomes v3.
- squaremap is now accepted as the identifier for SquareMap support.
- Note that SquareMap support is deprecated and may be removed in the future in favour of Pl3xMap v2.
- Also note that BlueMap support is still running on APIv1 (targeting older versions of BlueMap) -- v2 support is planned soon.
- Added Traditional Chinese (zh-tw) locales, courtesy of TonyPak
To update, just drag+drop.