TownyAdvanced/Towny (com.palmergames.bukkit.towny:towny)
### [`v0.99.5.18`](https://togithub.com/TownyAdvanced/Towny/releases/tag/0.99.5.18): for MC 1.16.* & 1.17.* & 1.18.* & 1.19.* & 1.20.*
[Compare Source](https://togithub.com/TownyAdvanced/Towny/compare/0.99.5.17...0.99.5.18)
- Add protection for parrots being fed cookies. Now requires passing a destroy test.
- Closes [#6981](https://togithub.com/TownyAdvanced/Towny/issues/6981).
- Remove exception based control flow from map hud, courtesy of Warrior with PR [#6972](https://togithub.com/TownyAdvanced/Towny/issues/6972).
- Remove iConomy soft dependency, courtesy of Warrior with PR [#6980](https://togithub.com/TownyAdvanced/Towny/issues/6980).
- Bump net.coreprotect:coreprotect from 22.0 to 22.1.
- Bump mockbukkit to 3.21.0.
- Fix tourist-blacklisted commands not being usable in the wilderness.
- Fix seeing an errant permission string when running a /res toggle addon command.
***
Cumulative changes since 0.99.5.00.99.5.17
- Add permission node that bypasses deny_bed_use config setting.
- Closes [#6956](https://togithub.com/TownyAdvanced/Towny/issues/6956).
- New Permission Node: towny.bypass_bed_restriction
- description: Makes the player not subject to bed-use restrictions.
- default: false
- Run sync confirmations on the player's region, courtesy of Warrior with PR [#6960](https://togithub.com/TownyAdvanced/Towny/issues/6960).
- Fix a lot of IDE warnings, courtesy of Warrior with PR [#6658](https://togithub.com/TownyAdvanced/Towny/issues/6658).
- Add gitattributes file, courtesy of Warrior with PR [#6962](https://togithub.com/TownyAdvanced/Towny/issues/6962).
- Add missing deprecation annotations, courtesy of Warrior with PR [#6963](https://togithub.com/TownyAdvanced/Towny/issues/6963).
- Fix exception when putting a group for sale with eco off, courtesy of Warrior with PR [#6970](https://togithub.com/TownyAdvanced/Towny/issues/6970).
- Closes [#6969](https://togithub.com/TownyAdvanced/Towny/issues/6969).
- Improve trident lightning protection, courtesy of Warrior with PR [#6964](https://togithub.com/TownyAdvanced/Towny/issues/6964).
- Replace http urls with https, courtesy of Warrior with PR [#6965](https://togithub.com/TownyAdvanced/Towny/issues/6965).
- Area effect cloud protection improvements, courtesy of Warrior with PR [#6967](https://togithub.com/TownyAdvanced/Towny/issues/6967).
0.99.5.16
- Make the default resident about configurable, courtesy of Warrior with PR [#6954](https://togithub.com/TownyAdvanced/Towny/issues/6954).
- New Config Node: resident_settings.default_about
- Default: /res set about \[msg]
- The default resident about text, shown in the resident's status screen.
- Fix removing Town from residents not being able to delete 1 man towns.
- Add protection for milkable animals, using a destroy test.
- Automatic Config Edit: Farm Plots allowedBlock lists will have COW_SPAWN_EGG,GOAT_SPAWN_EGG,MOOSHROOM_SPAWN_EGG added to them.
- Fix the NewHourEvent being started with the incorrect delay.
0.99.5.15
- Add a new plotgroup mode for residents to toggle.
- Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory.
- The plotgroupname is automatically set when a resident successfully runs /plot group add NAME.
- Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404).
- Fix being unable to run Resident-based TownyAddonCommands from the console.
- Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue.
- Upgrade HelpMenus to accept Translatables for multilanguage help menus.
- Refactor Resident Command, add HelpMenus for everything that was not yet using them.
- Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it.
- Add translatable descriptions to all of the HelpMenus.
0.99.5.14
- API: Add TownyAPI#getTownName(Player).
- Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944).
- Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).
0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount.
- Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705).
- New Config Option: economy.daily_taxes.allow_negative_town_tax
- Default: false
- If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.)
- New Config Option: economy.daily_taxes.allow_negative_nation_tax
- Default: false
- If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.)
- Add warning about MyCommand taking over /t in the startup.
- Bump com.github.ElgarL:groupmanager from 2.9 to 3.2.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1.
- Fix Hibernated Residents table being keyed improperly.
- Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936).
- Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!)
- Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478).
- New Command: /t forsale/fs \[$]
- Puts town up for sale at the specified amount
- Requires towny.command.town.forsale
- New Command: /t notforsale/nfs
- Cancels town sale
- Requires towny.command.town.notforsale
- New Command: /t buytown \[town]
- Buy a town that is for sale
- Requires towny.command.town.buytown
- New Command: /ta town \[town] forsale/fs \[$]
- Admin command to force town sale at specified price
- Requires towny.command.townyadmin.town.forsale
- New Command: /ta town \[town] notforsale/nfs
- Admin command to force cancel town sale
- Requires towny.command.townyadmin.town.notforsale
- New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.town.forsale
- towny.command.town.notforsale
- towny.command.town.buytown
- New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.townyadmin.town.forsale
- towny.command.townyadmin.town.notforsale
- Add the ability to set colours for TownBlockTypes.
- The TownBlockTypes section by default will come with a new "colour:" option.
- Only the Shop plot currently being configured with a colour (as is the previous behaviour.)
- Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage.
- Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).
0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes.
- Mayors can toggle a plot's status using /plot toggle taxed.
- When false, the owner of that plot will pay no plot tax.
- A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens.
- Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675).
- New Command: /plot toggle taxed
- Uses the towny.command.plot.asmayor permission node.
- Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes.
- API: PlotToggleTaxedEvent
- Cancellable event that stops a mayor toggling taxation off/on on a townblock.
- Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands.
- Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117).
- New Config Option: ascii_map_symbols.map_height
- Default: 7
- The height of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 18.
- New Config Option: ascii_map_symbols.map_width
- Default: 27
- The width of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 27, only odd numbers are accepted.
- Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).
0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out.
- Add placing items onto Campfires cause a Build test.
- Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894).
- Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901).
- Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919).
- Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).
0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911).
- Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).
0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat.
- Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!)
- Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910).
- Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896).
- Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895).
- Bump net.coreprotect:coreprotect from 21.3 to 22.0.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0.
- Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536).
- The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped.
- By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.
0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890).
- Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526).
- If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading.
- Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).
0.99.5.7
- Fix ConcurrentModificationError in saving the regen list.
- Fix chunk notification tasks still running when Towny has disabled itself.
- Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889).
- Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888).
- Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0.
- Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.
0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!)
- Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886).
- Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885).
- Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).
0.99.5.5
- Fix EconomyAccount removals not paying their value into the ClosedEconomy Server Account.
- Closes [#6874](https://togithub.com/TownyAdvanced/Towny/issues/6874).
- Remove redundant 1.20 check, courtesy of Warrior with PR [#6873](https://togithub.com/TownyAdvanced/Towny/issues/6873).
- Add testing for registry lists, courtesy of Warrior with PR [#6871](https://togithub.com/TownyAdvanced/Towny/issues/6871).
- Skip tests by default, courtesy of Warrior with PR [#6878](https://togithub.com/TownyAdvanced/Towny/issues/6878).
- Refactor the regen API to use hashmaps, courtesy of Warrior with PR [#6827](https://togithub.com/TownyAdvanced/Towny/issues/6827).
- Make a couple CombatUtil methods more reliable.
0.99.5.4
- Fix PlayerInteractEvent throwing NoSuchFieldError on 1.19.4 servers using a 1.20 datapack.
- Fix registry lists' add method not working as expected, courtesy of Warrior with PR [#6869](https://togithub.com/TownyAdvanced/Towny/issues/6869).
- Closes [#6866](https://togithub.com/TownyAdvanced/Towny/issues/6866).
- Fix teleport refund being done synchronously, courtesy of Warrior with PR [#6870](https://togithub.com/TownyAdvanced/Towny/issues/6870).
0.99.5.3
- Fix personal permission line loading in TownBlocks.
- Closes [#6856](https://togithub.com/TownyAdvanced/Towny/issues/6856).
- Fix Towny uncancelling PlayerInteractEvents.
- Closes [#6861](https://togithub.com/TownyAdvanced/Towny/issues/6861).
- Remove unneeded filtering from matchRegistry, courtesy of Warrior with PR [#6851](https://togithub.com/TownyAdvanced/Towny/issues/6851).
- Cache a townblock's worldcoord/pos, courtesy of Warrior with PR [#6853](https://togithub.com/TownyAdvanced/Towny/issues/6853).
- Allow negating nodes with {townname} and {nationname}, courtesy of Warrior with PR [#6850](https://togithub.com/TownyAdvanced/Towny/issues/6850).
- Allows nodes with {townname} and {nationname} to be prefixed with a -.
- Use material key for cache debug message, courtesy of Warrior with PR [#6852](https://togithub.com/TownyAdvanced/Towny/issues/6852).
- Implement a filter method for registry lists, courtesy of Warrior with PR [#6859](https://togithub.com/TownyAdvanced/Towny/issues/6859).
- Take care of all the places we weren't using Locale.ROOT with toLowerCase().
0.99.5.2
- Fix a typo in TownyUniverse javadoc, courtesy of Warrior with PR [#6838](https://togithub.com/TownyAdvanced/Towny/issues/6838).
- Remove underscores from plot names in chunk notifs, courtesy of Warrior with PR [#6830](https://togithub.com/TownyAdvanced/Towny/issues/6830).
- Closes [#6829](https://togithub.com/TownyAdvanced/Towny/issues/6829).
- Use better method for determining invitee online status, courtesy of Warrior with PR [#6848](https://togithub.com/TownyAdvanced/Towny/issues/6848).
- Add coreprotect integration, courtesy of Warrior with PR [#6825](https://togithub.com/TownyAdvanced/Towny/issues/6825).
- Adds integration with coreprotect so that people using it can easily rollback/lookup things done by towny.
- New config option: plugin.interfacing.coreprotect_support
- Default: true
- If enabled, blocks that get regenerated by Towny, such as revert-on-unclaim and explosion regeneration will be logged with CoreProtect.
- Actions are logged with the #towny user, so Towny's actions can easily be undone using user:#towny.
- Add support for Paper's SpawnReason, allowing for the summoning of mobs which are spawned into towns which have mobs off and other nice things.
- Closes [#6832](https://togithub.com/TownyAdvanced/Towny/issues/6832).
- New Config Option: protection.town_mob_removal_ignored_spawn_causes
- Default: "" (none)
- A comma seperated list of spawn causes, if an entity has a spawn cause that is in this list they will not be removed by town mob removal.
- For the list of valid spawn causes, see https://jd.papermc.io/paper/1.20/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html
- Due to technical reasons, this setting only works on Paper servers.
- Add getOfflinePlayerIfCached to BukkitTools, courtesy of Warrior with PR [#6847](https://togithub.com/TownyAdvanced/Towny/issues/6847).
- Use invokeExact where possible, courtesy of Warrior with PR [#6849](https://togithub.com/TownyAdvanced/Towny/issues/6849).
- Remove essentials maven dependency, courtesy of Warrior with PR [#6842](https://togithub.com/TownyAdvanced/Towny/issues/6842).
0.99.5.1
- Handle top placeholders better, courtesy of Warrior with PR [#6821](https://togithub.com/TownyAdvanced/Towny/issues/6821).
- Fixes top placeholders failing on towns with spaces in their name.
- Closes [#6814](https://togithub.com/TownyAdvanced/Towny/issues/6814).
- User internal class for expanded scheduling check, courtesy of Warrior with PR [#6822](https://togithub.com/TownyAdvanced/Towny/issues/6822).
- Fix exception being thrown for empty key in wilderness entity regen lists, courtesy of Warrior with PR [#6826](https://togithub.com/TownyAdvanced/Towny/issues/6826).
- Make towny handle longer world names on sql.
- Closes [#6796](https://togithub.com/TownyAdvanced/Towny/issues/6796).
***
Towny Sponsors
I want to give a big thank you to all of my sponsors: These are the people that help to make Towny's support and development as active as it is, and who supported me during this pre-release of Towny.
![Spigot_Banner_Towny](https://togithub.com/TownyAdvanced/Towny/assets/879756/559c8340-82e5-41fc-a10c-af0dcf47f38f)
##### ⏬ Download available as a .jar file in the Assets section below:
### [`v0.99.5.17`](https://togithub.com/TownyAdvanced/Towny/releases/tag/0.99.5.17): for MC 1.16.* & 1.17.* & 1.18.* & 1.19.* & 1.20.*
[Compare Source](https://togithub.com/TownyAdvanced/Towny/compare/0.99.5.16...0.99.5.17)
- Add permission node that bypasses deny_bed_use config setting.
- Closes [#6956](https://togithub.com/TownyAdvanced/Towny/issues/6956).
- New Permission Node: towny.bypass_bed_restriction
- description: Makes the player not subject to bed-use restrictions.
- default: false
- Run sync confirmations on the player's region, courtesy of Warrior with PR [#6960](https://togithub.com/TownyAdvanced/Towny/issues/6960).
- Fix a lot of IDE warnings, courtesy of Warrior with PR [#6658](https://togithub.com/TownyAdvanced/Towny/issues/6658).
- Add gitattributes file, courtesy of Warrior with PR [#6962](https://togithub.com/TownyAdvanced/Towny/issues/6962).
- Add missing deprecation annotations, courtesy of Warrior with PR [#6963](https://togithub.com/TownyAdvanced/Towny/issues/6963).
- Fix exception when putting a group for sale with eco off, courtesy of Warrior with PR [#6970](https://togithub.com/TownyAdvanced/Towny/issues/6970).
- Closes [#6969](https://togithub.com/TownyAdvanced/Towny/issues/6969).
- Improve trident lightning protection, courtesy of Warrior with PR [#6964](https://togithub.com/TownyAdvanced/Towny/issues/6964).
- Replace http urls with https, courtesy of Warrior with PR [#6965](https://togithub.com/TownyAdvanced/Towny/issues/6965).
- Area effect cloud protection improvements, courtesy of Warrior with PR [#6967](https://togithub.com/TownyAdvanced/Towny/issues/6967).
***
Cumulative changes since 0.99.5.00.99.5.16
- Make the default resident about configurable, courtesy of Warrior with PR [#6954](https://togithub.com/TownyAdvanced/Towny/issues/6954).
- New Config Node: resident_settings.default_about
- Default: /res set about \[msg]
- The default resident about text, shown in the resident's status screen.
- Fix removing Town from residents not being able to delete 1 man towns.
- Add protection for milkable animals, using a destroy test.
- Automatic Config Edit: Farm Plots allowedBlock lists will have COW_SPAWN_EGG,GOAT_SPAWN_EGG,MOOSHROOM_SPAWN_EGG added to them.
- Fix the NewHourEvent being started with the incorrect delay.
0.99.5.15
- Add a new plotgroup mode for residents to toggle.
- Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory.
- The plotgroupname is automatically set when a resident successfully runs /plot group add NAME.
- Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404).
- Fix being unable to run Resident-based TownyAddonCommands from the console.
- Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue.
- Upgrade HelpMenus to accept Translatables for multilanguage help menus.
- Refactor Resident Command, add HelpMenus for everything that was not yet using them.
- Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it.
- Add translatable descriptions to all of the HelpMenus.
0.99.5.14
- API: Add TownyAPI#getTownName(Player).
- Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944).
- Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).
0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount.
- Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705).
- New Config Option: economy.daily_taxes.allow_negative_town_tax
- Default: false
- If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.)
- New Config Option: economy.daily_taxes.allow_negative_nation_tax
- Default: false
- If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.)
- Add warning about MyCommand taking over /t in the startup.
- Bump com.github.ElgarL:groupmanager from 2.9 to 3.2.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1.
- Fix Hibernated Residents table being keyed improperly.
- Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936).
- Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!)
- Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478).
- New Command: /t forsale/fs \[$]
- Puts town up for sale at the specified amount
- Requires towny.command.town.forsale
- New Command: /t notforsale/nfs
- Cancels town sale
- Requires towny.command.town.notforsale
- New Command: /t buytown \[town]
- Buy a town that is for sale
- Requires towny.command.town.buytown
- New Command: /ta town \[town] forsale/fs \[$]
- Admin command to force town sale at specified price
- Requires towny.command.townyadmin.town.forsale
- New Command: /ta town \[town] notforsale/nfs
- Admin command to force cancel town sale
- Requires towny.command.townyadmin.town.notforsale
- New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.town.forsale
- towny.command.town.notforsale
- towny.command.town.buytown
- New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.townyadmin.town.forsale
- towny.command.townyadmin.town.notforsale
- Add the ability to set colours for TownBlockTypes.
- The TownBlockTypes section by default will come with a new "colour:" option.
- Only the Shop plot currently being configured with a colour (as is the previous behaviour.)
- Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage.
- Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).
0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes.
- Mayors can toggle a plot's status using /plot toggle taxed.
- When false, the owner of that plot will pay no plot tax.
- A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens.
- Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675).
- New Command: /plot toggle taxed
- Uses the towny.command.plot.asmayor permission node.
- Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes.
- API: PlotToggleTaxedEvent
- Cancellable event that stops a mayor toggling taxation off/on on a townblock.
- Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands.
- Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117).
- New Config Option: ascii_map_symbols.map_height
- Default: 7
- The height of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 18.
- New Config Option: ascii_map_symbols.map_width
- Default: 27
- The width of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 27, only odd numbers are accepted.
- Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).
0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out.
- Add placing items onto Campfires cause a Build test.
- Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894).
- Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901).
- Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919).
- Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).
0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911).
- Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).
0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat.
- Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!)
- Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910).
- Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896).
- Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895).
- Bump net.coreprotect:coreprotect from 21.3 to 22.0.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0.
- Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536).
- The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped.
- By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.
0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890).
- Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526).
- If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading.
- Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).
0.99.5.7
- Fix ConcurrentModificationError in saving the regen list.
- Fix chunk notification tasks still running when Towny has disabled itself.
- Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889).
- Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888).
- Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0.
- Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.
0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!)
- Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886).
- Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885).
- Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).
0.99.5.5
- Fix EconomyAccount removals not paying their value into the ClosedEconomy Server Account.
- Closes [#6874](https://togithub.com/TownyAdvanced/Towny/issues/6874).
- Remove redundant 1.20 check, courtesy of Warrior with PR [#6873](https://togithub.com/TownyAdvanced/Towny/issues/6873).
- Add testing for registry lists, courtesy of Warrior with PR [#6871](https://togithub.com/TownyAdvanced/Towny/issues/6871).
- Skip tests by default, courtesy of Warrior with PR [#6878](https://togithub.com/TownyAdvanced/Towny/issues/6878).
- Refactor the regen API to use hashmaps, courtesy of Warrior with PR [#6827](https://togithub.com/TownyAdvanced/Towny/issues/6827).
- Make a couple CombatUtil methods more reliable.
0.99.5.4
- Fix PlayerInteractEvent throwing NoSuchFieldError on 1.19.4 servers using a 1.20 datapack.
- Fix registry lists' add method not working as expected, courtesy of Warrior with PR [#6869](https://togithub.com/TownyAdvanced/Towny/issues/6869).
- Closes [#6866](https://togithub.com/TownyAdvanced/Towny/issues/6866).
- Fix teleport refund being done synchronously, courtesy of Warrior with PR [#6870](https://togithub.com/TownyAdvanced/Towny/issues/6870).
0.99.5.3
- Fix personal permission line loading in TownBlocks.
- Closes [#6856](https://togithub.com/TownyAdvanced/Towny/issues/6856).
- Fix Towny uncancelling PlayerInteractEvents.
- Closes [#6861](https://togithub.com/TownyAdvanced/Towny/issues/6861).
- Remove unneeded filtering from matchRegistry, courtesy of Warrior with PR [#6851](https://togithub.com/TownyAdvanced/Towny/issues/6851).
- Cache a townblock's worldcoord/pos, courtesy of Warrior with PR [#6853](https://togithub.com/TownyAdvanced/Towny/issues/6853).
- Allow negating nodes with {townname} and {nationname}, courtesy of Warrior with PR [#6850](https://togithub.com/TownyAdvanced/Towny/issues/6850).
- Allows nodes with {townname} and {nationname} to be prefixed with a -.
- Use material key for cache debug message, courtesy of Warrior with PR [#6852](https://togithub.com/TownyAdvanced/Towny/issues/6852).
- Implement a filter method for registry lists, courtesy of Warrior with PR [#6859](https://togithub.com/TownyAdvanced/Towny/issues/6859).
- Take care of all the places we weren't using Locale.ROOT with toLowerCase().
0.99.5.2
- Fix a typo in TownyUniverse javadoc, courtesy of Warrior with PR [#6838](https://togithub.com/TownyAdvanced/Towny/issues/6838).
- Remove underscores from plot names in chunk notifs, courtesy of Warrior with PR [#6830](https://togithub.com/TownyAdvanced/Towny/issues/6830).
- Closes [#6829](https://togithub.com/TownyAdvanced/Towny/issues/6829).
- Use better method for determining invitee online status, courtesy of Warrior with PR [#6848](https://togithub.com/TownyAdvanced/Towny/issues/6848).
- Add coreprotect integration, courtesy of Warrior with PR [#6825](https://togithub.com/TownyAdvanced/Towny/issues/6825).
- Adds integration with coreprotect so that people using it can easily rollback/lookup things done by towny.
- New config option: plugin.interfacing.coreprotect_support
- Default: true
- If enabled, blocks that get regenerated by Towny, such as revert-on-unclaim and explosion regeneration will be logged with CoreProtect.
- Actions are logged with the #towny user, so Towny's actions can easily be undone using user:#towny.
- Add support for Paper's SpawnReason, allowing for the summoning of mobs which are spawned into towns which have mobs off and other nice things.
- Closes [#6832](https://togithub.com/TownyAdvanced/Towny/issues/6832).
- New Config Option: protection.town_mob_removal_ignored_spawn_causes
- Default: "" (none)
- A comma seperated list of spawn causes, if an entity has a spawn cause that is in this list they will not be removed by town mob removal.
- For the list of valid spawn causes, see https://jd.papermc.io/paper/1.20/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html
- Due to technical reasons, this setting only works on Paper servers.
- Add getOfflinePlayerIfCached to BukkitTools, courtesy of Warrior with PR [#6847](https://togithub.com/TownyAdvanced/Towny/issues/6847).
- Use invokeExact where possible, courtesy of Warrior with PR [#6849](https://togithub.com/TownyAdvanced/Towny/issues/6849).
- Remove essentials maven dependency, courtesy of Warrior with PR [#6842](https://togithub.com/TownyAdvanced/Towny/issues/6842).
0.99.5.1
- Handle top placeholders better, courtesy of Warrior with PR [#6821](https://togithub.com/TownyAdvanced/Towny/issues/6821).
- Fixes top placeholders failing on towns with spaces in their name.
- Closes [#6814](https://togithub.com/TownyAdvanced/Towny/issues/6814).
- User internal class for expanded scheduling check, courtesy of Warrior with PR [#6822](https://togithub.com/TownyAdvanced/Towny/issues/6822).
- Fix exception being thrown for empty key in wilderness entity regen lists, courtesy of Warrior with PR [#6826](https://togithub.com/TownyAdvanced/Towny/issues/6826).
- Make towny handle longer world names on sql.
- Closes [#6796](https://togithub.com/TownyAdvanced/Towny/issues/6796).
***
Towny Sponsors
I want to give a big thank you to all of my sponsors: These are the people that help to make Towny's support and development as active as it is, and who supported me during this pre-release of Towny.
![Spigot_Banner_Towny](https://togithub.com/TownyAdvanced/Towny/assets/879756/559c8340-82e5-41fc-a10c-af0dcf47f38f)
##### ⏬ Download available as a .jar file in the Assets section below:
### [`v0.99.5.16`](https://togithub.com/TownyAdvanced/Towny/releases/tag/0.99.5.16): for MC 1.16.* & 1.17.* & 1.18.* & 1.19.* & 1.20.*
[Compare Source](https://togithub.com/TownyAdvanced/Towny/compare/0.99.5.15...0.99.5.16)
- Make the default resident about configurable, courtesy of Warrior with PR [#6954](https://togithub.com/TownyAdvanced/Towny/issues/6954).
- New Config Node: resident_settings.default_about
- Default: /res set about \[msg]
- The default resident about text, shown in the resident's status screen.
- Fix removing Town from residents not being able to delete 1 man towns.
- Add protection for milkable animals, using a destroy test.
- Automatic Config Edit: Farm Plots allowedBlock lists will have COW_SPAWN_EGG,GOAT_SPAWN_EGG,MOOSHROOM_SPAWN_EGG added to them.
- Fix the NewHourEvent being started with the incorrect delay.
***
Cumulative changes since 0.99.5.00.99.5.15
- Add a new plotgroup mode for residents to toggle.
- Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory.
- The plotgroupname is automatically set when a resident successfully runs /plot group add NAME.
- Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404).
- Fix being unable to run Resident-based TownyAddonCommands from the console.
- Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue.
- Upgrade HelpMenus to accept Translatables for multilanguage help menus.
- Refactor Resident Command, add HelpMenus for everything that was not yet using them.
- Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it.
- Add translatable descriptions to all of the HelpMenus.
0.99.5.14
- API: Add TownyAPI#getTownName(Player).
- Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944).
- Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).
0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount.
- Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705).
- New Config Option: economy.daily_taxes.allow_negative_town_tax
- Default: false
- If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.)
- New Config Option: economy.daily_taxes.allow_negative_nation_tax
- Default: false
- If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.)
- Add warning about MyCommand taking over /t in the startup.
- Bump com.github.ElgarL:groupmanager from 2.9 to 3.2.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1.
- Fix Hibernated Residents table being keyed improperly.
- Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936).
- Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!)
- Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478).
- New Command: /t forsale/fs \[$]
- Puts town up for sale at the specified amount
- Requires towny.command.town.forsale
- New Command: /t notforsale/nfs
- Cancels town sale
- Requires towny.command.town.notforsale
- New Command: /t buytown \[town]
- Buy a town that is for sale
- Requires towny.command.town.buytown
- New Command: /ta town \[town] forsale/fs \[$]
- Admin command to force town sale at specified price
- Requires towny.command.townyadmin.town.forsale
- New Command: /ta town \[town] notforsale/nfs
- Admin command to force cancel town sale
- Requires towny.command.townyadmin.town.notforsale
- New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.town.forsale
- towny.command.town.notforsale
- towny.command.town.buytown
- New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.)
- towny.command.townyadmin.town.forsale
- towny.command.townyadmin.town.notforsale
- Add the ability to set colours for TownBlockTypes.
- The TownBlockTypes section by default will come with a new "colour:" option.
- Only the Shop plot currently being configured with a colour (as is the previous behaviour.)
- Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage.
- Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).
0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes.
- Mayors can toggle a plot's status using /plot toggle taxed.
- When false, the owner of that plot will pay no plot tax.
- A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens.
- Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675).
- New Command: /plot toggle taxed
- Uses the towny.command.plot.asmayor permission node.
- Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes.
- API: PlotToggleTaxedEvent
- Cancellable event that stops a mayor toggling taxation off/on on a townblock.
- Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands.
- Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117).
- New Config Option: ascii_map_symbols.map_height
- Default: 7
- The height of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 18.
- New Config Option: ascii_map_symbols.map_width
- Default: 27
- The width of the map shown in /towny map and /res toggle map.
- Minimum 7, maximum 27, only odd numbers are accepted.
- Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).
0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out.
- Add placing items onto Campfires cause a Build test.
- Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894).
- Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901).
- Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919).
- Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).
0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911).
- Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).
0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat.
- Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!)
- Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910).
- Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896).
- Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895).
- Bump net.coreprotect:coreprotect from 21.3 to 22.0.
- Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0.
- Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536).
- The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped.
- By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.
0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890).
- Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526).
- If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading.
- Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).
0.99.5.7
- Fix ConcurrentModificationError in saving the regen list.
- Fix chunk notification tasks still running when Towny has disabled itself.
- Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889).
- Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888).
- Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0.
- Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.
0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!)
- Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886).
- Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885).
- Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).
0.99.5.5
- Fix EconomyAccount removals not paying their value into
---
### Configuration
📅 **Schedule**: Branch creation - "on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/TownyAdvanced/TownyMenus).
This PR contains the following updates:
0.99.5.11
->0.99.5.18
Release Notes
TownyAdvanced/Towny (com.palmergames.bukkit.towny:towny)
### [`v0.99.5.18`](https://togithub.com/TownyAdvanced/Towny/releases/tag/0.99.5.18): for MC 1.16.* & 1.17.* & 1.18.* & 1.19.* & 1.20.* [Compare Source](https://togithub.com/TownyAdvanced/Towny/compare/0.99.5.17...0.99.5.18) - Add protection for parrots being fed cookies. Now requires passing a destroy test. - Closes [#6981](https://togithub.com/TownyAdvanced/Towny/issues/6981). - Remove exception based control flow from map hud, courtesy of Warrior with PR [#6972](https://togithub.com/TownyAdvanced/Towny/issues/6972). - Remove iConomy soft dependency, courtesy of Warrior with PR [#6980](https://togithub.com/TownyAdvanced/Towny/issues/6980). - Bump net.coreprotect:coreprotect from 22.0 to 22.1. - Bump mockbukkit to 3.21.0. - Fix tourist-blacklisted commands not being usable in the wilderness. - Fix seeing an errant permission string when running a /res toggle addon command. ***Cumulative changes since 0.99.5.0
0.99.5.17
- Add permission node that bypasses deny_bed_use config setting. - Closes [#6956](https://togithub.com/TownyAdvanced/Towny/issues/6956). - New Permission Node: towny.bypass_bed_restriction - description: Makes the player not subject to bed-use restrictions. - default: false - Run sync confirmations on the player's region, courtesy of Warrior with PR [#6960](https://togithub.com/TownyAdvanced/Towny/issues/6960). - Fix a lot of IDE warnings, courtesy of Warrior with PR [#6658](https://togithub.com/TownyAdvanced/Towny/issues/6658). - Add gitattributes file, courtesy of Warrior with PR [#6962](https://togithub.com/TownyAdvanced/Towny/issues/6962). - Add missing deprecation annotations, courtesy of Warrior with PR [#6963](https://togithub.com/TownyAdvanced/Towny/issues/6963). - Fix exception when putting a group for sale with eco off, courtesy of Warrior with PR [#6970](https://togithub.com/TownyAdvanced/Towny/issues/6970). - Closes [#6969](https://togithub.com/TownyAdvanced/Towny/issues/6969). - Improve trident lightning protection, courtesy of Warrior with PR [#6964](https://togithub.com/TownyAdvanced/Towny/issues/6964). - Replace http urls with https, courtesy of Warrior with PR [#6965](https://togithub.com/TownyAdvanced/Towny/issues/6965). - Area effect cloud protection improvements, courtesy of Warrior with PR [#6967](https://togithub.com/TownyAdvanced/Towny/issues/6967).0.99.5.16
- Make the default resident about configurable, courtesy of Warrior with PR [#6954](https://togithub.com/TownyAdvanced/Towny/issues/6954). - New Config Node: resident_settings.default_about - Default: /res set about \[msg] - The default resident about text, shown in the resident's status screen. - Fix removing Town from residents not being able to delete 1 man towns. - Add protection for milkable animals, using a destroy test. - Automatic Config Edit: Farm Plots allowedBlock lists will have COW_SPAWN_EGG,GOAT_SPAWN_EGG,MOOSHROOM_SPAWN_EGG added to them. - Fix the NewHourEvent being started with the incorrect delay.0.99.5.15
- Add a new plotgroup mode for residents to toggle. - Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory. - The plotgroupname is automatically set when a resident successfully runs /plot group add NAME. - Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404). - Fix being unable to run Resident-based TownyAddonCommands from the console. - Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue. - Upgrade HelpMenus to accept Translatables for multilanguage help menus. - Refactor Resident Command, add HelpMenus for everything that was not yet using them. - Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it. - Add translatable descriptions to all of the HelpMenus.0.99.5.14
- API: Add TownyAPI#getTownName(Player). - Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944). - Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount. - Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705). - New Config Option: economy.daily_taxes.allow_negative_town_tax - Default: false - If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.) - New Config Option: economy.daily_taxes.allow_negative_nation_tax - Default: false - If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.) - Add warning about MyCommand taking over /t in the startup. - Bump com.github.ElgarL:groupmanager from 2.9 to 3.2. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1. - Fix Hibernated Residents table being keyed improperly. - Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936). - Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!) - Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478). - New Command: /t forsale/fs \[$] - Puts town up for sale at the specified amount - Requires towny.command.town.forsale - New Command: /t notforsale/nfs - Cancels town sale - Requires towny.command.town.notforsale - New Command: /t buytown \[town] - Buy a town that is for sale - Requires towny.command.town.buytown - New Command: /ta town \[town] forsale/fs \[$] - Admin command to force town sale at specified price - Requires towny.command.townyadmin.town.forsale - New Command: /ta town \[town] notforsale/nfs - Admin command to force cancel town sale - Requires towny.command.townyadmin.town.notforsale - New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.town.forsale - towny.command.town.notforsale - towny.command.town.buytown - New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.townyadmin.town.forsale - towny.command.townyadmin.town.notforsale - Add the ability to set colours for TownBlockTypes. - The TownBlockTypes section by default will come with a new "colour:" option. - Only the Shop plot currently being configured with a colour (as is the previous behaviour.) - Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage. - Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes. - Mayors can toggle a plot's status using /plot toggle taxed. - When false, the owner of that plot will pay no plot tax. - A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens. - Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675). - New Command: /plot toggle taxed - Uses the towny.command.plot.asmayor permission node. - Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes. - API: PlotToggleTaxedEvent - Cancellable event that stops a mayor toggling taxation off/on on a townblock. - Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands. - Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117). - New Config Option: ascii_map_symbols.map_height - Default: 7 - The height of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 18. - New Config Option: ascii_map_symbols.map_width - Default: 27 - The width of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 27, only odd numbers are accepted. - Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out. - Add placing items onto Campfires cause a Build test. - Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894). - Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901). - Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919). - Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911). - Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat. - Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!) - Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910). - Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896). - Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895). - Bump net.coreprotect:coreprotect from 21.3 to 22.0. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0. - Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536). - The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped. - By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890). - Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526). - If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading. - Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).0.99.5.7
- Fix ConcurrentModificationError in saving the regen list. - Fix chunk notification tasks still running when Towny has disabled itself. - Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889). - Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888). - Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0. - Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!) - Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886). - Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885). - Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).0.99.5.5
- Fix EconomyAccount removals not paying their value into the ClosedEconomy Server Account. - Closes [#6874](https://togithub.com/TownyAdvanced/Towny/issues/6874). - Remove redundant 1.20 check, courtesy of Warrior with PR [#6873](https://togithub.com/TownyAdvanced/Towny/issues/6873). - Add testing for registry lists, courtesy of Warrior with PR [#6871](https://togithub.com/TownyAdvanced/Towny/issues/6871). - Skip tests by default, courtesy of Warrior with PR [#6878](https://togithub.com/TownyAdvanced/Towny/issues/6878). - Refactor the regen API to use hashmaps, courtesy of Warrior with PR [#6827](https://togithub.com/TownyAdvanced/Towny/issues/6827). - Make a couple CombatUtil methods more reliable.0.99.5.4
- Fix PlayerInteractEvent throwing NoSuchFieldError on 1.19.4 servers using a 1.20 datapack. - Fix registry lists' add method not working as expected, courtesy of Warrior with PR [#6869](https://togithub.com/TownyAdvanced/Towny/issues/6869). - Closes [#6866](https://togithub.com/TownyAdvanced/Towny/issues/6866). - Fix teleport refund being done synchronously, courtesy of Warrior with PR [#6870](https://togithub.com/TownyAdvanced/Towny/issues/6870).0.99.5.3
- Fix personal permission line loading in TownBlocks. - Closes [#6856](https://togithub.com/TownyAdvanced/Towny/issues/6856). - Fix Towny uncancelling PlayerInteractEvents. - Closes [#6861](https://togithub.com/TownyAdvanced/Towny/issues/6861). - Remove unneeded filtering from matchRegistry, courtesy of Warrior with PR [#6851](https://togithub.com/TownyAdvanced/Towny/issues/6851). - Cache a townblock's worldcoord/pos, courtesy of Warrior with PR [#6853](https://togithub.com/TownyAdvanced/Towny/issues/6853). - Allow negating nodes with {townname} and {nationname}, courtesy of Warrior with PR [#6850](https://togithub.com/TownyAdvanced/Towny/issues/6850). - Allows nodes with {townname} and {nationname} to be prefixed with a -. - Use material key for cache debug message, courtesy of Warrior with PR [#6852](https://togithub.com/TownyAdvanced/Towny/issues/6852). - Implement a filter method for registry lists, courtesy of Warrior with PR [#6859](https://togithub.com/TownyAdvanced/Towny/issues/6859). - Take care of all the places we weren't using Locale.ROOT with toLowerCase().0.99.5.2
- Fix a typo in TownyUniverse javadoc, courtesy of Warrior with PR [#6838](https://togithub.com/TownyAdvanced/Towny/issues/6838). - Remove underscores from plot names in chunk notifs, courtesy of Warrior with PR [#6830](https://togithub.com/TownyAdvanced/Towny/issues/6830). - Closes [#6829](https://togithub.com/TownyAdvanced/Towny/issues/6829). - Use better method for determining invitee online status, courtesy of Warrior with PR [#6848](https://togithub.com/TownyAdvanced/Towny/issues/6848). - Add coreprotect integration, courtesy of Warrior with PR [#6825](https://togithub.com/TownyAdvanced/Towny/issues/6825). - Adds integration with coreprotect so that people using it can easily rollback/lookup things done by towny. - New config option: plugin.interfacing.coreprotect_support - Default: true - If enabled, blocks that get regenerated by Towny, such as revert-on-unclaim and explosion regeneration will be logged with CoreProtect. - Actions are logged with the #towny user, so Towny's actions can easily be undone using user:#towny. - Add support for Paper's SpawnReason, allowing for the summoning of mobs which are spawned into towns which have mobs off and other nice things. - Closes [#6832](https://togithub.com/TownyAdvanced/Towny/issues/6832). - New Config Option: protection.town_mob_removal_ignored_spawn_causes - Default: "" (none) - A comma seperated list of spawn causes, if an entity has a spawn cause that is in this list they will not be removed by town mob removal. - For the list of valid spawn causes, see https://jd.papermc.io/paper/1.20/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html - Due to technical reasons, this setting only works on Paper servers. - Add getOfflinePlayerIfCached to BukkitTools, courtesy of Warrior with PR [#6847](https://togithub.com/TownyAdvanced/Towny/issues/6847). - Use invokeExact where possible, courtesy of Warrior with PR [#6849](https://togithub.com/TownyAdvanced/Towny/issues/6849). - Remove essentials maven dependency, courtesy of Warrior with PR [#6842](https://togithub.com/TownyAdvanced/Towny/issues/6842).0.99.5.1
- Handle top placeholders better, courtesy of Warrior with PR [#6821](https://togithub.com/TownyAdvanced/Towny/issues/6821). - Fixes top placeholders failing on towns with spaces in their name. - Closes [#6814](https://togithub.com/TownyAdvanced/Towny/issues/6814). - User internal class for expanded scheduling check, courtesy of Warrior with PR [#6822](https://togithub.com/TownyAdvanced/Towny/issues/6822). - Fix exception being thrown for empty key in wilderness entity regen lists, courtesy of Warrior with PR [#6826](https://togithub.com/TownyAdvanced/Towny/issues/6826). - Make towny handle longer world names on sql. - Closes [#6796](https://togithub.com/TownyAdvanced/Towny/issues/6796).Towny Sponsors
I want to give a big thank you to all of my sponsors:
These are the people that help to make Towny's support and development as active as it is,
and who supported me during this pre-release of Towny.
If you want to support the developer, become a sponsor.
(It's just like Patreon but instead 100% of your support goes to the developer.)Plus there are Sponsor Plugins!
Questions
Placeholders
Cumulative changes since 0.99.5.0
0.99.5.16
- Make the default resident about configurable, courtesy of Warrior with PR [#6954](https://togithub.com/TownyAdvanced/Towny/issues/6954). - New Config Node: resident_settings.default_about - Default: /res set about \[msg] - The default resident about text, shown in the resident's status screen. - Fix removing Town from residents not being able to delete 1 man towns. - Add protection for milkable animals, using a destroy test. - Automatic Config Edit: Farm Plots allowedBlock lists will have COW_SPAWN_EGG,GOAT_SPAWN_EGG,MOOSHROOM_SPAWN_EGG added to them. - Fix the NewHourEvent being started with the incorrect delay.0.99.5.15
- Add a new plotgroup mode for residents to toggle. - Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory. - The plotgroupname is automatically set when a resident successfully runs /plot group add NAME. - Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404). - Fix being unable to run Resident-based TownyAddonCommands from the console. - Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue. - Upgrade HelpMenus to accept Translatables for multilanguage help menus. - Refactor Resident Command, add HelpMenus for everything that was not yet using them. - Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it. - Add translatable descriptions to all of the HelpMenus.0.99.5.14
- API: Add TownyAPI#getTownName(Player). - Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944). - Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount. - Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705). - New Config Option: economy.daily_taxes.allow_negative_town_tax - Default: false - If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.) - New Config Option: economy.daily_taxes.allow_negative_nation_tax - Default: false - If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.) - Add warning about MyCommand taking over /t in the startup. - Bump com.github.ElgarL:groupmanager from 2.9 to 3.2. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1. - Fix Hibernated Residents table being keyed improperly. - Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936). - Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!) - Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478). - New Command: /t forsale/fs \[$] - Puts town up for sale at the specified amount - Requires towny.command.town.forsale - New Command: /t notforsale/nfs - Cancels town sale - Requires towny.command.town.notforsale - New Command: /t buytown \[town] - Buy a town that is for sale - Requires towny.command.town.buytown - New Command: /ta town \[town] forsale/fs \[$] - Admin command to force town sale at specified price - Requires towny.command.townyadmin.town.forsale - New Command: /ta town \[town] notforsale/nfs - Admin command to force cancel town sale - Requires towny.command.townyadmin.town.notforsale - New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.town.forsale - towny.command.town.notforsale - towny.command.town.buytown - New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.townyadmin.town.forsale - towny.command.townyadmin.town.notforsale - Add the ability to set colours for TownBlockTypes. - The TownBlockTypes section by default will come with a new "colour:" option. - Only the Shop plot currently being configured with a colour (as is the previous behaviour.) - Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage. - Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes. - Mayors can toggle a plot's status using /plot toggle taxed. - When false, the owner of that plot will pay no plot tax. - A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens. - Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675). - New Command: /plot toggle taxed - Uses the towny.command.plot.asmayor permission node. - Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes. - API: PlotToggleTaxedEvent - Cancellable event that stops a mayor toggling taxation off/on on a townblock. - Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands. - Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117). - New Config Option: ascii_map_symbols.map_height - Default: 7 - The height of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 18. - New Config Option: ascii_map_symbols.map_width - Default: 27 - The width of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 27, only odd numbers are accepted. - Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out. - Add placing items onto Campfires cause a Build test. - Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894). - Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901). - Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919). - Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911). - Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat. - Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!) - Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910). - Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896). - Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895). - Bump net.coreprotect:coreprotect from 21.3 to 22.0. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0. - Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536). - The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped. - By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890). - Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526). - If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading. - Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).0.99.5.7
- Fix ConcurrentModificationError in saving the regen list. - Fix chunk notification tasks still running when Towny has disabled itself. - Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889). - Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888). - Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0. - Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!) - Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886). - Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885). - Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).0.99.5.5
- Fix EconomyAccount removals not paying their value into the ClosedEconomy Server Account. - Closes [#6874](https://togithub.com/TownyAdvanced/Towny/issues/6874). - Remove redundant 1.20 check, courtesy of Warrior with PR [#6873](https://togithub.com/TownyAdvanced/Towny/issues/6873). - Add testing for registry lists, courtesy of Warrior with PR [#6871](https://togithub.com/TownyAdvanced/Towny/issues/6871). - Skip tests by default, courtesy of Warrior with PR [#6878](https://togithub.com/TownyAdvanced/Towny/issues/6878). - Refactor the regen API to use hashmaps, courtesy of Warrior with PR [#6827](https://togithub.com/TownyAdvanced/Towny/issues/6827). - Make a couple CombatUtil methods more reliable.0.99.5.4
- Fix PlayerInteractEvent throwing NoSuchFieldError on 1.19.4 servers using a 1.20 datapack. - Fix registry lists' add method not working as expected, courtesy of Warrior with PR [#6869](https://togithub.com/TownyAdvanced/Towny/issues/6869). - Closes [#6866](https://togithub.com/TownyAdvanced/Towny/issues/6866). - Fix teleport refund being done synchronously, courtesy of Warrior with PR [#6870](https://togithub.com/TownyAdvanced/Towny/issues/6870).0.99.5.3
- Fix personal permission line loading in TownBlocks. - Closes [#6856](https://togithub.com/TownyAdvanced/Towny/issues/6856). - Fix Towny uncancelling PlayerInteractEvents. - Closes [#6861](https://togithub.com/TownyAdvanced/Towny/issues/6861). - Remove unneeded filtering from matchRegistry, courtesy of Warrior with PR [#6851](https://togithub.com/TownyAdvanced/Towny/issues/6851). - Cache a townblock's worldcoord/pos, courtesy of Warrior with PR [#6853](https://togithub.com/TownyAdvanced/Towny/issues/6853). - Allow negating nodes with {townname} and {nationname}, courtesy of Warrior with PR [#6850](https://togithub.com/TownyAdvanced/Towny/issues/6850). - Allows nodes with {townname} and {nationname} to be prefixed with a -. - Use material key for cache debug message, courtesy of Warrior with PR [#6852](https://togithub.com/TownyAdvanced/Towny/issues/6852). - Implement a filter method for registry lists, courtesy of Warrior with PR [#6859](https://togithub.com/TownyAdvanced/Towny/issues/6859). - Take care of all the places we weren't using Locale.ROOT with toLowerCase().0.99.5.2
- Fix a typo in TownyUniverse javadoc, courtesy of Warrior with PR [#6838](https://togithub.com/TownyAdvanced/Towny/issues/6838). - Remove underscores from plot names in chunk notifs, courtesy of Warrior with PR [#6830](https://togithub.com/TownyAdvanced/Towny/issues/6830). - Closes [#6829](https://togithub.com/TownyAdvanced/Towny/issues/6829). - Use better method for determining invitee online status, courtesy of Warrior with PR [#6848](https://togithub.com/TownyAdvanced/Towny/issues/6848). - Add coreprotect integration, courtesy of Warrior with PR [#6825](https://togithub.com/TownyAdvanced/Towny/issues/6825). - Adds integration with coreprotect so that people using it can easily rollback/lookup things done by towny. - New config option: plugin.interfacing.coreprotect_support - Default: true - If enabled, blocks that get regenerated by Towny, such as revert-on-unclaim and explosion regeneration will be logged with CoreProtect. - Actions are logged with the #towny user, so Towny's actions can easily be undone using user:#towny. - Add support for Paper's SpawnReason, allowing for the summoning of mobs which are spawned into towns which have mobs off and other nice things. - Closes [#6832](https://togithub.com/TownyAdvanced/Towny/issues/6832). - New Config Option: protection.town_mob_removal_ignored_spawn_causes - Default: "" (none) - A comma seperated list of spawn causes, if an entity has a spawn cause that is in this list they will not be removed by town mob removal. - For the list of valid spawn causes, see https://jd.papermc.io/paper/1.20/org/bukkit/event/entity/CreatureSpawnEvent.SpawnReason.html - Due to technical reasons, this setting only works on Paper servers. - Add getOfflinePlayerIfCached to BukkitTools, courtesy of Warrior with PR [#6847](https://togithub.com/TownyAdvanced/Towny/issues/6847). - Use invokeExact where possible, courtesy of Warrior with PR [#6849](https://togithub.com/TownyAdvanced/Towny/issues/6849). - Remove essentials maven dependency, courtesy of Warrior with PR [#6842](https://togithub.com/TownyAdvanced/Towny/issues/6842).0.99.5.1
- Handle top placeholders better, courtesy of Warrior with PR [#6821](https://togithub.com/TownyAdvanced/Towny/issues/6821). - Fixes top placeholders failing on towns with spaces in their name. - Closes [#6814](https://togithub.com/TownyAdvanced/Towny/issues/6814). - User internal class for expanded scheduling check, courtesy of Warrior with PR [#6822](https://togithub.com/TownyAdvanced/Towny/issues/6822). - Fix exception being thrown for empty key in wilderness entity regen lists, courtesy of Warrior with PR [#6826](https://togithub.com/TownyAdvanced/Towny/issues/6826). - Make towny handle longer world names on sql. - Closes [#6796](https://togithub.com/TownyAdvanced/Towny/issues/6796).Towny Sponsors
I want to give a big thank you to all of my sponsors:
These are the people that help to make Towny's support and development as active as it is,
and who supported me during this pre-release of Towny.
If you want to support the developer, become a sponsor.
(It's just like Patreon but instead 100% of your support goes to the developer.)Plus there are Sponsor Plugins!
Questions
Placeholders
Cumulative changes since 0.99.5.0
0.99.5.15
- Add a new plotgroup mode for residents to toggle. - Allows a resident to set /res toggle plotgroup, which will auto-group walked-into plots, as long as the resident has a plotgroupname set in memory. - The plotgroupname is automatically set when a resident successfully runs /plot group add NAME. - Closes [#6404](https://togithub.com/TownyAdvanced/Towny/issues/6404). - Fix being unable to run Resident-based TownyAddonCommands from the console. - Fix bank history books showing the incorrect balances, a side effect of a now un-needed patch to an older issue. - Upgrade HelpMenus to accept Translatables for multilanguage help menus. - Refactor Resident Command, add HelpMenus for everything that was not yet using them. - Only warn the log when the world isn't loaded 20 ticks after Towny first tries to load it. - Add translatable descriptions to all of the HelpMenus.0.99.5.14
- API: Add TownyAPI#getTownName(Player). - Add "about" section to resident status screen, courtesy of Fruitloopins with PR [#6944](https://togithub.com/TownyAdvanced/Towny/issues/6944). - Catch exceptions during plot group saving, courtesy of Warrior with PR [#6927](https://togithub.com/TownyAdvanced/Towny/issues/6927).0.99.5.13
- Add ability for towns and nations to have a negative fixed-rate tax amount. - Closes [#6705](https://togithub.com/TownyAdvanced/Towny/issues/6705). - New Config Option: economy.daily_taxes.allow_negative_town_tax - Default: false - If enabled, and a town tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every resident being paid by the town bank (if the town can afford it.) - New Config Option: economy.daily_taxes.allow_negative_nation_tax - Default: false - If enabled, and a nation tax is set to a negative amount and is a fixed amount (not percentage,) it will result in every town in the nation being paid by the nation bank (if the nation can afford it.) - Add warning about MyCommand taking over /t in the startup. - Bump com.github.ElgarL:groupmanager from 2.9 to 3.2. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.19.0 to 3.19.1. - Fix Hibernated Residents table being keyed improperly. - Closes [#6936](https://togithub.com/TownyAdvanced/Towny/issues/6936). - Add ability for mayors to put their Towns up for sale, and for other players to buy them, courtesy of Fruitloopins with PR [#6934](https://togithub.com/TownyAdvanced/Towny/issues/6934). (First-Time Contributor!) - Closes [#6478](https://togithub.com/TownyAdvanced/Towny/issues/6478). - New Command: /t forsale/fs \[$] - Puts town up for sale at the specified amount - Requires towny.command.town.forsale - New Command: /t notforsale/nfs - Cancels town sale - Requires towny.command.town.notforsale - New Command: /t buytown \[town] - Buy a town that is for sale - Requires towny.command.town.buytown - New Command: /ta town \[town] forsale/fs \[$] - Admin command to force town sale at specified price - Requires towny.command.townyadmin.town.forsale - New Command: /ta town \[town] notforsale/nfs - Admin command to force cancel town sale - Requires towny.command.townyadmin.town.notforsale - New permission nodes: (All of which are child nodes of towny.command.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.town.forsale - towny.command.town.notforsale - towny.command.town.buytown - New permission nodes: (All of which are child nodes of towny.command.townyadmin.town.\*, no townyperms.yml changes are required for standard installations.) - towny.command.townyadmin.town.forsale - towny.command.townyadmin.town.notforsale - Add the ability to set colours for TownBlockTypes. - The TownBlockTypes section by default will come with a new "colour:" option. - Only the Shop plot currently being configured with a colour (as is the previous behaviour.) - Existing configs will have to add the colour: line to each TownBlock Type if they want to take advantage. - Closes [#6115](https://togithub.com/TownyAdvanced/Towny/issues/6115).0.99.5.12
- Add ability for mayors to exempt their townblocks from charging plot taxes. - Mayors can toggle a plot's status using /plot toggle taxed. - When false, the owner of that plot will pay no plot tax. - A Plot Tax: \[Amount|Untaxed] blurb will now appear in the townblock status screens. - Closes [#3675](https://togithub.com/TownyAdvanced/Towny/issues/3675). - New Command: /plot toggle taxed - Uses the towny.command.plot.asmayor permission node. - Allows a mayor to decide whether a plot will require the plotowner to pay the plot taxes. - API: PlotToggleTaxedEvent - Cancellable event that stops a mayor toggling taxation off/on on a townblock. - Add ability to customize the dimensions of the ASCII map seen in /towny map and the /res toggle map commands. - Closes [#6117](https://togithub.com/TownyAdvanced/Towny/issues/6117). - New Config Option: ascii_map_symbols.map_height - Default: 7 - The height of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 18. - New Config Option: ascii_map_symbols.map_width - Default: 27 - The width of the map shown in /towny map and /res toggle map. - Minimum 7, maximum 27, only odd numbers are accepted. - Replace lang3 validate with guava, courtesy of Warrior with PR [#6931](https://togithub.com/TownyAdvanced/Towny/issues/6931).0.99.5.11
- Fix a town being able to be reclaimed a second time if the first Confirmation hadn't timed out. - Add placing items onto Campfires cause a Build test. - Closes [#6894](https://togithub.com/TownyAdvanced/Towny/issues/6894). - Fix all the weirdness around world entity key loading, courtesy of Warrior with PR [#6901](https://togithub.com/TownyAdvanced/Towny/issues/6901). - Speed up calculating bonus block costs, courtesy of Warrior with PR [#6919](https://togithub.com/TownyAdvanced/Towny/issues/6919). - Add spigot fallback to sign open event, courtesy of Warrior with PR [#6920](https://togithub.com/TownyAdvanced/Towny/issues/6920).0.99.5.10
- Fix exception after creating a new PlayerCache, courtesy of Warrior with PR [#6911](https://togithub.com/TownyAdvanced/Towny/issues/6911). - Add contributors to plugin.yml, courtesy of Warrior with PR [#6915](https://togithub.com/TownyAdvanced/Towny/issues/6915).0.99.5.9
- Fix edge case scenario where NPCs can be treated like Players in Combat. - Add towny.receives-plot-notifications permission, courtesy of invpt with PR [#6908](https://togithub.com/TownyAdvanced/Towny/issues/6908). (First-Time Contributor!) - Improve move event listener/player cache a bit, courtesy of Warrior with PR [#6910](https://togithub.com/TownyAdvanced/Towny/issues/6910). - Use constant for line separator string, courtesy of Warrior with PR [#6896](https://togithub.com/TownyAdvanced/Towny/issues/6896). - Make the ecowarn line log on the INFO level [#6895](https://togithub.com/TownyAdvanced/Towny/issues/6895). - Bump net.coreprotect:coreprotect from 21.3 to 22.0. - Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.17.0 to 3.19.0. - Add Position object, courtesy of Warrior with PR [#6536](https://togithub.com/TownyAdvanced/Towny/issues/6536). - The position object aims to resolve issues with world manager plugins that load after Towny loads, causing spawns to be wiped. - By representing these spawns with an object that's not associated with a loaded bukkit world, but instead our own internal TownyWorld, we can successfully load them every time, regardless of plugin load order.0.99.5.8
- Cancel scheduled tasks on shutdown, courtesy of Warrior with PR [#6890](https://togithub.com/TownyAdvanced/Towny/issues/6890). - Make it possible to recover from safemode without restarting, courtesy of Warrior with PR [#6526](https://togithub.com/TownyAdvanced/Towny/issues/6526). - If you have managed to put your server into safemode, and you can manage to fix what's caused it, you can now use /ta reload all to have towny re-attempt loading. - Remove an outdated comment, courtesy of Warrior with PR [#6892](https://togithub.com/TownyAdvanced/Towny/issues/6892).0.99.5.7
- Fix ConcurrentModificationError in saving the regen list. - Fix chunk notification tasks still running when Towny has disabled itself. - Use concurrent collection for regen queue, courtesy of Warrior with PR [#6889](https://togithub.com/TownyAdvanced/Towny/issues/6889). - Cancel chunk notification tasks on logout, courtesy of Warrior with PR [#6888](https://togithub.com/TownyAdvanced/Towny/issues/6888). - Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0. - Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0.0.99.5.6
- Add getMapColor to Government, courtesy of ewof [#6881](https://togithub.com/TownyAdvanced/Towny/issues/6881). (First-Time Contributor!) - Fix returning early in the PlayerInteractEvent listeners, courtesy of Warrior with PR [#6886](https://togithub.com/TownyAdvanced/Towny/issues/6886). - Fix Item Registry matching incorrectly, courtesy of Warrior with PR [#6885](https://togithub.com/TownyAdvanced/Towny/issues/6885). - Closes [#6868](https://togithub.com/TownyAdvanced/Towny/issues/6868).0.99.5.5
- Fix EconomyAccount removals not paying their value into