Skip to content

Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.3#519

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/com.palmergames.bukkit.towny-towny-0.x
Open

Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.3#519
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/com.palmergames.bukkit.towny-towny-0.x

Conversation

@renovate

@renovate renovate Bot commented Apr 15, 2026

Copy link
Copy Markdown

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
com.palmergames.bukkit.towny:towny 0.102.0.130.103.0.3 age confidence

Release Notes

TownyAdvanced/Towny (com.palmergames.bukkit.towny:towny)

v0.103.0.3: for MC 1.19.* & 1.20.* & 1.21.* & 26.1.*

Compare Source

  • Improve on player cache efficiency, courtesy of Warrior with PR #​8207.
    • Add towny:plot_type_at_player LP context, which allows for plot types to provide permission nodes.
    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.5 to 3.5.6.

Cumulative changes since 0.103.0.0
0.103.0.2
  • Fix memory leak in the hud manager, courtesy of Warrior with PR #​8202.
  • Fix /n outpost not being handled as an alias, courtesy of Warrior with PR #​8203.
  • Get item from correct hand in player interact entity event, courtesy of Warrior with PR #​8205.
  • Bump junit.version from 6.0.3 to 6.1.0.
  • Bump org.slf4j:slf4j-simple from 2.0.17 to 2.0.18.
  • Bump org.apache.logging.log4j:log4j-core from 2.25.4 to 2.26.0.
0.103.0.1
  • Fix /ta nation NAME forcemerge NAME merging the wrong nation.
  • Remove deprecations from before 0.102.0.0.
  • Add optional killer payout for PvP deaths and improve notifications, courtesy of muhdfdeen with PR #​8168. (First-Time Contributor!)
  • New Config Option: economy.death.price_paid_to_killer_on_pvp
    • Default: true
    • If true, the death price will be paid to the killer when a player is killed by another player.
    • Otherwise, the death price will simply be withdrawn from the victim's account.
  • Ensure districts are removed from ruined towns, courtesy of SulkyWhale with PR #​8186.
  • Fix dispensers allowing harmful potions logic, courtesy of Veyronity with PR #​8187.
  • Fix unhandled legacy colors being added during resident name formatting, courtesy of Warrior with PR #​8188.
  • Add more location based placeholders, courtesy of SulkyWhale with PR #​8189.
  • New PAPIPlaceholders:
    • %townyadvanced_player_location_district_name% - Shows the district name if the player location has a district.
    • %townyadvanced_player_location_town_map_color_hex% - If there is a town where the player stands, it will return the map color set by that town, if one has been set.
    • %townyadvanced_player_location_town_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by that town formatted for MiniMessage, if one has been set.
    • %townyadvanced_player_location_nation_map_color_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town, if one has been set.
    • %townyadvanced_player_location_nation_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town formatted for MiniMessage, if one has been set.
  • Add config option for hiding town balance and hiding town ruined status from other players, courtesy of seksea with PR #​8193. (First-Time Contributor!)
  • New Config Option: economy.banks.hide_town_balance
    • Default: false
    • When true a towns balance will be hidden from players not a resident of the town when using /town <townName>
    • This will stop people from being able to check which towns are currently near bankruptcy, and snipe them the second they go bankrupt.
  • New Config Option: town_ruining.town_ruins.hide_town_ruined_status
    • Default: false
    • Hide the fact that a town is ruined from other players.
    • Towns will no longer show as ruined when a player tries to look up the town with /town <townName>
  • Fix /plot claim allowing plot groups to be claimed when the plot group is not for sale.
  • Fix townblocks not saving after the UUID db conversion.

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.

DrprofLuigiakup001pebblehostDiimoniixtomhmagicjshalbrook
LuexaTurtleCraftManGoodrichDevchessmastertobeCivWorldcobrex1
lexiccnWaspyethan13Gatsbytrevor1097KeNickGongMilesBHuff
SolarCivLitning11Bloc-kxSTORMYxSHMlukemangoTheeno74
Rekar7Folas1337MrMirhankeijodputtNeumimToStevenSharker
RialkinggewofKermXHippieBeakNewspoetdruidbrandon
yurddZacharySeebeck2020JosefofMongoliaBattleBornPMCMrG00s3ubobubob
loanderKarl4s32dannyxJ0TxKRDuckyminefortcom
Elementals-bitEmperorDazedWoodiieTesqageFusionZ1ShermansWorld
AndyRecktAtexur99StaccatoAunt007FantaFreak04KuvviiJsinco
LucasUnderlineerenmakalatlasmcpluginsssdrive-flaktraPhatdog731uplex11
KrarwiFutureLemonhettiiItsSaltyA20LeanLover605emremithat2015-code
ZayGameZMomshroomgerardvanschipItzXPurpleXspikehiddenAncientSM
CorruptedGreedTriaieSupersmurf82NikkilectricCactusbandityurigarciia
spektrsoyuzEarrthLegacyGeraldR12Triumvir-CivlDoomerllaberthouman-jpg
Gl0W1EgorbyhailSexy-JuraTheNyloxXorgoneand 37 private sponsors.

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!

Important Links
Frequently Asked
Questions
How Towny Works Towny Install Guide Towny Update Guide
Other Towny Plugins Complete Changelog Default Config Files Commands/Permissions
Placeholders
⏬ Download available as a .jar file in the Assets section below:

v0.103.0.2: for MC 1.19.* & 1.20.* & 1.21.* & 26.1.*

Compare Source

  • Fix memory leak in the hud manager, courtesy of Warrior with PR #​8202.
    • Fix /n outpost not being handled as an alias, courtesy of Warrior with PR #​8203.
    • Get item from correct hand in player interact entity event, courtesy of Warrior with PR #​8205.
    • Bump junit.version from 6.0.3 to 6.1.0.
    • Bump org.slf4j:slf4j-simple from 2.0.17 to 2.0.18.
    • Bump org.apache.logging.log4j:log4j-core from 2.25.4 to 2.26.0.

Cumulative changes since 0.103.0.0
0.103.0.1
  • Fix /ta nation NAME forcemerge NAME merging the wrong nation.
  • Remove deprecations from before 0.102.0.0.
  • Add optional killer payout for PvP deaths and improve notifications, courtesy of muhdfdeen with PR #​8168. (First-Time Contributor!)
  • New Config Option: economy.death.price_paid_to_killer_on_pvp
    • Default: true
    • If true, the death price will be paid to the killer when a player is killed by another player.
    • Otherwise, the death price will simply be withdrawn from the victim's account.
  • Ensure districts are removed from ruined towns, courtesy of SulkyWhale with PR #​8186.
  • Fix dispensers allowing harmful potions logic, courtesy of Veyronity with PR #​8187.
  • Fix unhandled legacy colors being added during resident name formatting, courtesy of Warrior with PR #​8188.
  • Add more location based placeholders, courtesy of SulkyWhale with PR #​8189.
  • New PAPIPlaceholders:
    • %townyadvanced_player_location_district_name% - Shows the district name if the player location has a district.
    • %townyadvanced_player_location_town_map_color_hex% - If there is a town where the player stands, it will return the map color set by that town, if one has been set.
    • %townyadvanced_player_location_town_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by that town formatted for MiniMessage, if one has been set.
    • %townyadvanced_player_location_nation_map_color_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town, if one has been set.
    • %townyadvanced_player_location_nation_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town formatted for MiniMessage, if one has been set.
  • Add config option for hiding town balance and hiding town ruined status from other players, courtesy of seksea with PR #​8193. (First-Time Contributor!)
  • New Config Option: economy.banks.hide_town_balance
    • Default: false
    • When true a towns balance will be hidden from players not a resident of the town when using /town <townName>
    • This will stop people from being able to check which towns are currently near bankruptcy, and snipe them the second they go bankrupt.
  • New Config Option: town_ruining.town_ruins.hide_town_ruined_status
    • Default: false
    • Hide the fact that a town is ruined from other players.
    • Towns will no longer show as ruined when a player tries to look up the town with /town <townName>
  • Fix /plot claim allowing plot groups to be claimed when the plot group is not for sale.
  • Fix townblocks not saving after the UUID db conversion.

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.

DrprofLuigiakup001pebblehostDiimoniixtomhmagicjshalbrook
LuexaTurtleCraftManGoodrichDevchessmastertobeCivWorldcobrex1
lexiccnWaspyethanSmallSansSeriftrevor1097KeNickGongMilesBHuff
SolarCivLitning11Bloc-kxSTORMYxSHMlukemangoTheeno74
Rekar7Folas1337MrMirhankeijodputtNeumimToStevenSharker
RialkinggewofKermXHippieBeakNewspoetdruidbrandon
yurddZacharySeebeck2020JosefofMongoliaBattleBornPMCMrG00s3ubobubob
loanderKarl4s32dannyxJ0TxKRDuckyminefortcom
Elementals-bitEmperorDazedWoodiieTesqageFusionZ1ShermansWorld
AndyRecktAtexur99StaccatoAunt007FantaFreak04KuvviiJsinco
LucasUnderlineerenmakalatlasmcpluginsssdrive-flaktraPhatdog731uplex11
KrarwiFutureLemonhettiiItsSaltyA20LeanLover605emremithat2015-code
MomshroomgerardvanschipItzXPurpleXspikehiddenAncientSMCorruptedGreed
TriaieSupersmurf82NikkilectricCactusbandityurigarciiaspektrsoyuz
EarrthLegacyGeraldR12Triumvir-CivlDoomerlGl0W1Egorbyhail
Sexy-JuraTheNyloxXorgoneand 38 private sponsors.

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!

Important Links
Frequently Asked
Questions
How Towny Works Towny Install Guide Towny Update Guide
Other Towny Plugins Complete Changelog Default Config Files Commands/Permissions
Placeholders
⏬ Download available as a .jar file in the Assets section below:

v0.103.0.1: for MC 1.19.* & 1.20.* & 1.21.* & 26.1.*

Compare Source

  • Fix /ta nation NAME forcemerge NAME merging the wrong nation.
    • Closes #​8199.
    • Remove deprecations from before 0.102.0.0.
    • Add optional killer payout for PvP deaths and improve notifications, courtesy of muhdfdeen with PR #​8168. (First-Time Contributor!)
    • New Config Option: economy.death.price_paid_to_killer_on_pvp
      • Default: true
      • If true, the death price will be paid to the killer when a player is killed by another player.
      • Otherwise, the death price will simply be withdrawn from the victim's account.
    • Ensure districts are removed from ruined towns, courtesy of SulkyWhale with PR #​8186.
    • Fix dispensers allowing harmful potions logic, courtesy of Veyronity with PR #​8187.
    • Fix unhandled legacy colors being added during resident name formatting, courtesy of Warrior with PR #​8188.
    • Add more location based placeholders, courtesy of SulkyWhale with PR #​8189.
    • New PAPIPlaceholders:
      • %townyadvanced_player_location_district_name% - Shows the district name if the player location has a district.
      • %townyadvanced_player_location_town_map_color_hex% - If there is a town where the player stands, it will return the map color set by that town, if one has been set.
      • %townyadvanced_player_location_town_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by that town formatted for MiniMessage, if one has been set.
      • %townyadvanced_player_location_nation_map_color_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town, if one has been set.
      • %townyadvanced_player_location_nation_map_color_minimessage_hex% - If there is a town where the player stands, it will return the map color set by the nation of that town formatted for MiniMessage, if one has been set.
    • Add config option for hiding town balance and hiding town ruined status from other players, courtesy of seksea with PR #​8193.
    • New Config Option: economy.banks.hide_town_balance
      • Default: false
      • When true a towns balance will be hidden from players not a resident of the town when using /town <townName>
      • This will stop people from being able to check which towns are currently near bankruptcy, and snipe them the second they go bankrupt.
    • New Config Option: town_ruining.town_ruins.hide_town_ruined_status
      • Default: false
      • Hide the fact that a town is ruined from other players.
      • Towns will no longer show as ruined when a player tries to look up the town with /town <townName>
    • Fix /plot claim allowing plot groups to be claimed when the plot group is not for sale.
    • Fix townblocks not saving after the UUID db conversion.

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.

DrprofLuigiakup001pebblehostDiimoniixtomhmagicjshalbrook
LuexaGoodrichDevchessmastertobecobrex1lexiccnWaspyethan
SmallSansSeriftrevor1097KeNickGongMilesBHuffSolarCivLitning11
Bloc-kxSTORMYxSHMlukemangoTheeno74Rekar7Folas1337
MrMirhankeijodputtNeumimToStevenSharkerRialkinggewof
KermXHippieBeakNewspoetdruidbrandonyurddZacharySeebeck2020
JosefofMongoliaBattleBornPMCMrG00s3ubobubobloanderKarl4s
32dannyxJ0TxKRDuckyminefortcomElementals-bitEmperorDazed
WoodiieTesqageFusionZ1ShermansWorldAndyRecktAtexur99
StaccatoAunt007FantaFreak04KuvviiJsincoLucasUnderlineerenmakal
atlasmcpluginsssdrive-flaktraPhatdog731uplex11KrarwiFutureLemon
hettiiItsSaltyA20MomshroomgerardvanschipItzXPurpleXspikehidden
AncientSMCorruptedGreedTriaieSupersmurf82NikkilectricCactusbandit
yurigarciiaspektrsoyuzEarrthLegacyGeraldR12Triumvir-CivlDoomerl
NotAndre157Gl0W1EgorbyhailSexy-JuraTheNyloxXorgone
and 37 private sponsors.

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!

Important Links
Frequently Asked
Questions
How Towny Works Towny Install Guide Towny Update Guide
Other Towny Plugins Complete Changelog Default Config Files Commands/Permissions
Placeholders
⏬ Download available as a .jar file in the Assets section below:

v0.103.0.0: for MC 1.19.* & 1.20.* & 1.21.* & 26.1.*

Compare Source

Towny Advanced 0.103.0.0

Release contains:

Towny 0.103.0.0
TownyChat 0.121

Welcome to Towny 0.103.0.0.
Towny 0.103.0.0 is the first release in the 0.103.*.* series!
0.103.0.0 marks another large shift in development, with the database now using UUIDs instead of names!
This means that downgrading after this point will require you to restore your Towny database from a backup. If you use mysql, make sure you create a backup. If you use Flatfile your Towny backups should already exist (unless you have disabled Towny's backup system.)
This version supports any Minecraft version 1.19.* and newer! This version of Towny should be run using Java 17 or newer!
This version contains new features and fixes that you want on your server!
This is a drag-and-drop update: just replace your old .jars with the new ones and Towny will take care of the rest of the update by itself. Your config file and Towny database will not be harmed.
➕ Added (38)

➕ Added:

  • Add option to refund towns upon deletion.

    • Adds a configurable system based on town age and size limits, to refund recently-made, "small" towns their full cost.
    • Closes #​7974.
  • Add new hovers to town and nation lists.

    • Separate spawn and town/nation status screen hovers/clickables are now available.
    • Closes #​8100.
  • Add optional limits to town and nation ranks uses.

    • New towny.ranklimit.# node which can be added to town and nation ranks to limit how many times a town or nation can use the rank.
    • Closes #​8035.
  • Add ability for nation members to teleport to outposts belonging to the nation's towns.

  • Add new message shown to mayor and assistants when someone spawns to their town and it has resulted in the town earning the money.

  • Add the option to make the town bank cap plot-based.

  • Add info/meta node for overriding teleport warmup.

  • Add new CHESTS_WITHOUT_ENDERCHEST group, usable in the config switch_ids list, includes all chests but the enderchest.

  • Add maximum deposit and withdraw settings for towns and nations.

  • Adds option to deny cross world teleportation.

  • Add hover to town and nation status screen title bars for admins.

    • Displays name, uuid and town/nation level information.
  • Add test preventing copper golems moving items beyond same-owner plots.

  • Add protection for the waxed copper golem statues into the switch category when COPPER_GOLEM_STATUE is a switch_id.

  • Add waxed versions of copper chests into the COPPER_CHEST category.

  • Added option to hide nations and towns from the list pages when their banks are less than or equal to zero.

  • Add support for enabling conquering on a town via townyadmin command.

  • Add getFormattedTimeValue that accepts a player locale.

  • Add Scoreboard/HUD support for Folia, convert Scoreboards to Adventure.

  • UUID Database Update!

    • READ CAREFULLY, THIS UPDATE HAS CHANGES THAT CANNOT BE REVERSED EASILY.
    • Since Minecraft added UUIDs to players there has always been the idea of changing Towny over to using UUIDs as the main key in our database,
      but due to database instability this was not something that was considered a smart change. Database stability was majorly improved years ago
      however and starting in 2022 and 2023 I (LlmDl,) had pull requests on deck exploring/planning what a UUID-based database would look like for
      Towny. In the middle-to-late 2025 Warrior decided to revive the UUID database concept, breaking things into bite-sized pull requests that
      made the concept easier to review and merge. Those pull requests are as follows:
      • Load UUIDs for residents, towns & nations early, courtesy of Warrior with PR #​7945.
      • Replace references to names with UUIDs in the database, courtesy of Warrior with PR #​7962.
      • Clean up town/nation/resident renaming logic, courtesy of Warrior with PR #​7963.
      • Use UUIDs for town/nation/resident file names in flatfile, courtesy of Warrior with PR #​8023.
        Thanks to Warrior's efforts the UUID database has become a reality!
    • What this means for Towny server admins:
      • The database no longer saves using resident, town and nation names. Instead you will see UUID-named .txt files in the resident, town and
        nation folders, and UUIDs in the lists of friends, enemies and allies.
      • Once you updated to this version your database will be converted and there is no going back. Towny will create backups of your pre-UUID
        database if you have backups enabled in the Towny config.yml and you are using Towny in flatfile!
      • If your Towny database is stored in MYSQL you need to make your own backup! Towny doesn't back up MYSQL databases!
    • Benefits:
      • Your Towny database just got more error-proof.
      • Renaming of residents, towns, nations should no longer be prone to edge-case scenarios that could cause issues.
      • Server hosts which don't allow some unicode characters in the server file system's filenames will no longer fail to save/load towns and
        nations with special (usually accented,) characters.
      • If you change hosts and your future-host does not allow the above unicode characters to be used in the filesystem, your server will not
        immediately fail to load!
      • The main issue with Towny databases over the last few years was typically towns/nations being named with characters that server hosting
        would not allow in the filesystem, this database update will make this issue non-existant, which is why the benefits of this update
        outweigh the cons.
    • Cons:
      • The database's residents/towns/nations are no longer saved with their names. This makes editing your database manually trickier.
        • To help this out the residents' files will now contain their town's last-known name, the towns' files will contain their nation's and
          mayor's last-known name. All residents, towns and nations files will contain their last-known name in their files.
    • Ultimately, the benefits have outweighed the cons, stability has been good for Towny databases for 5+ years, and it is time to make this
      change in order to reduce the complexity of the codebase and to improve how Towny runs on varied server hosts.
  • Add new shear-to-remove-saddle mobs to entity list, courtesy of Warrior with PR #​8018.

  • Future proof minecraft version parsing, courtesy of Warrior with PR #​8034.

  • Bit pack perms in TownyPermission objects, courtesy of Warrior with PR #​8048.

  • Add protection for golden dandelion usage, courtesy of Warrior with PR #​8129.

  • Use mockito for unit testing, courtesy of Warrior with PR #​8159.

  • Improve NameValidation checks for banned names, courtesy of Veyronity with PR #​8133.
    • Prevents Towns and Nations being named with subcommands of /town and /nation.
    • Replaced hard coded list with auto-populating list, which now also includes TownyCommandAddonAPI subcommands.
  • Allow server owners to set a capital change cost, or for other plugins to modify it, courtesy of Veyronity with PR #​8166.
    • Configurable cost and NationKingChangeEvent#setCost now available.
  • Add a cooldown to prevent towns spamming residents by outlawing and unoutlawing them, courtesy of Veyronity with PR #​8074.
  • Add PLOT_GROUP_TOGGLE to TownyCommandAddonAPI, courtesy of Veyronity with PR #​8107.
  • Add cooldown on how often towns & nations can request a merge with the same target, courtesy of Veyronity with PR #​8134.
  • Send dangerous action confirmation messages in red instead of gray, courtesy of Veyronity with PR #​8145.
  • Add a config option to allow dispensers damaging protected entities in PvP plots, courtesy of Veyronity with PR #​8180.
  • Add only_remove_claim_count for inactive resident claim limits, courtesy of GoodrichDev with PR #​8119.
    • When delete_old_residents.enable, only_remove_town, and only_remove_claim_count are all true (and delete_only_townless is false),
      residents who are offline longer than deleted_after_time no longer count toward ratio-based max town blocks.
    • Resident data is kept: purge skips removing town/deleting residents in this mode.
  • Add /ta resident set for lastonline/registered with timestamp validation, courtesy of GoodrichDev with PR #​8120..
  • Add /town nearby command, courtesy of Nrleryx with PR #​8040. (First-Time Contributor!)
  • Add setting manual NationLevels onto Nations, courtesy of confusedalex with PR #​8112. (First-Time Contributor!)
  • Add option to consider nation and town enemies as town outlaws, courtesy of Captain-S0L0 with PR #​8132. (First-Time Contributor!)
  • Separate public town/nation spawn default and maximum cost configs, courtesy of kaanalp28 with PR #​8160. (First-Time Contributor!)
  • Add config option to ingore ruined town in claiming distance check rules, courtesy of HydrolienF with PR #​8178. (First-Time Contributor!)

➕ Automatic Config Edits (0)

➕ Towny's default config and world files will have the following automatic changes made:

  • None.

✨ Command Changes (7)
✨ New Commands (7)

✨ New Commands:

  • /town nearby

    • Shows a player up to 10 towns that are nearest to the player in the order of closest to furthest.
  • /n townoutposts listall

    • list a nation's towns' outposts, with clickable teleportation.
  • /n townoutposts [townname] list

    • lists a town's outposts, with clickable teleportation.
  • /n townoutposts [townname] [outpost]

    • teleports to a town's outpost.
  • /ta nation NATIONNAME setnationlevel #|clear.

  • /ta resident set registered

    • Sets the resident registered time with the timestamp being a long.
  • /ta resident set lastonline

    • Sets the resident lastonline time with the timestamp being a long.

✨ Changed Commands (0)

✨ Changed Commands:

  • None.

❌ Removed Commands (0)

❌ Removed Commands:

  • None.


📕 Config Changes (24)
📕 New Config Options (24)

📕 New Config Options:

These new settings will be added to your config with their default settings.
  • global_town_settings.rank_names_to_be_treated_as_assistants

    • Default: assistant
    • The ranks to be given special priviledges, for instance when messages would be shown to only VIP town members.
    • All ranks should be as defined in townyperms.yml.
  • global_town_settings.consider_enemies_outlaws

    • Default: false
    • If set to true, when a town is in a nation any player in another nation that the town's nation considers enemies will be considered an outlaw in that town.
  • global_town_settings.merge_request_cooldown_time

    • Default: 60
    • Number of seconds that must pass before a town can send a merge request to the same target.
  • global_nation_settings.merge_request_cooldown_time

    • Default: 60
    • Number of seconds that must pass before a nation can send a merge request to the same target.
  • economy.refund_deleted_new_towns.allow_refund_on_deletion

    • Default: false
    • Will towns that are recently created allow for a refund when the town is deleted by using the /t delete command?
    • This allows a player who has founded their town in the wrong place to delete their town and move it.
    • Towns must be less than the age specified below and have a configuable number of townblocks.
  • economy.refund_deleted_new_towns.max_town_age_in_hours

    • Default: 1
    • How many hours old is a town allowed to be in order to get the refund when being deleted.
  • economy.refund_deleted_new_towns.max_townblocks

    • Default: 8
    • How many townblocks is a town allowed to have in order to qualify for the refund.
  • economy.banks.hide_zero_or_under_banks_on_list_outputs

    • Default: false
    • When true town and nations with a bank balance of less than or equal to zero will not appear on the town and nation lists.
  • economy.banks.town_bank_cap_is_plotbased

    • Default: false
    • When true the bank cap is plot-based. The number of townblocks/plots a town has claimed will be multiplied by the above town_bank_cap value.
  • economy.banks.plotbased_bank_cap_uses_town_level_modifier

    • Default: false
    • When true the plot-based bank cap will also be multiplied by the town_levels' bank cap modifiers.
  • economy.banks.plotbased_town_bank_cap_minimum

    • Default: 0.0
    • The smallest cap that banks can have while using the plotbased bank cap.
    • If this value is larger than the naturally-derived townblocks * town_bank_cap equation, this minimum will be used instead.
  • economy.banks.town_max_deposit

    • Default: -1
    • When greater than -1, the maximum amount of money players are allowed to deposit in town bank at a time.
  • economy.banks.town_max_withdraw

    • Default: -1
    • When greater than -1, the maximum amount of money players are allowed to withdraw from town bank at a time.
  • economy.banks.nation_max_deposit

    • Default: -1
    • When greater than -1, the maximum amount of money players are allowed to deposit in nation bank at a time.
  • economy.banks.nation_max_withdraw

    • Default: -1
    • When greater than -1, the maximum amount of money players are allowed to withdraw from nation bank at a time.
  • economy.spawn_travel.price_town_public_spawn_travel_maximum

    • Default: 10.0
    • Maximum cost to use /town spawn [town] that mayors can set using /t set spawncost.
    • You can disable this setting by setting price_allow_mayors_to_override_public_spawn_cost to false. This will use the price_town_public_spawn_travel option to set a mandatory price.
  • economy.nation_capital_change_cost

    • Default: 0
    • The cost of a nation changing its capital
  • town_ruining.empty_towns_become_ruins

    • Default: false
    • When enabled, when the last resident is removed from a town and it becomes empty (such as when inactive resident deletion is enabled),
      the town will turn into a ruin instead of being immediately removed.
  • resident_settings.warn_player_on_outlaw_message_cooldown_in_seconds

    • Default: 30
    • How many seconds in between warning messages, to prevent spam.
  • resident_settings.delete_old_residents.only_remove_claim_count

    • Default: false
    • When true (and only_remove_town is true) residents are kept and only stop counting toward town claim limits after deleted_after_time.
  • spawning.require_spawn_destination_same_world

    • Default: false
    • When true, using /res, /t, /n spawn or /t outpost will fail when those spawn points are not in the same world as the player.
    • Use this feature to require players use special portals to travel between your server's worlds.
  • spawning.nation_spawn.allow_nation_outpost_travel

    • Default: true
    • Allow regular residents to use /nation outpost [town] [outpost] (TP to other towns' outposts if they are public).
    • Valid values are: true, false, war, peace.
    • When war or peace is set, it is only possible to teleport to the nation, when there is a war or peace.
  • claiming.distance_rules.min_distances_ignored_for_ruined_towns

    • Default: false
    • If true, the below settings: min_plot_distance_from_town_plot and min_distance_from_town_homeblock
      will be ignored for towns that are ruined. Setting to false will keep all towns separated the same.
  • protection.are_mob_types_protected_against_block_projectile_sources

    • Default: true
    • Setting this to false will allow block projectile sources, namely dispensers, to harm the above protected
      mobs (using potions, arrows, etc.), if they're in the same townblock and PvP is enabled.

❌ Removed Config Options (0)

❌ Removed Config Options:

  • None.


🔑 Permission Node Changes (6)
🔑 New Permission Nodes (6)

🔑 New Permission Nodes:

No change required in townyperms.yml.

  • towny.command.town.nearby
    • Will be automatically added to your nomads in the townyperms.yml.
  • towny_teleport_warmup_seconds.N
  • towny.command.townyadmin.nation.setnationlevel
    • Child node of towny.command.townyadmin.nation.* and towny.admin.
  • towny.town.spawn.nation.outpost
    • Allows the use of /n townoutposts [townname] [outpost]
    • child node of towny.town.spawn.nation, no changes to townyperms.yml required.
  • towny.command.nation.outpost.listall
    • Allows the use of /n townoutposts listall
    • child node of towny.command.nation.*, no changes to townyperms.yml required.
  • towny.command.nation.outpost.list
    • Allows the use of /n townoutposts [townname] list
    • child node of towny.command.nation.*, no changes to townyperms.yml required.

❌ Removed Permission Nodes (0)

❌ Removed Permission Nodes:

  • None.

❌ Changed Permission Nodes (1)

❌ Changed Permission Nodes:

  • Remove some townyadmincommand permission tests in favour of subcommand permission tests, allowing for more fine-grained permission node configurations.
    • towny.command.townyadmin.town.*
    • towny.command.townyadmin.nation.*
    • towny.command.townyadmin.resident.*
    • towny.command.townyadmin.toggle.*
    • towny.command.townyadmin.plot.*
    • The subcommands of these commands now rely soley on their own permission node, and do not require the parent permission node.


💻 API Changes (1)

💻 API:

  • Add NationRangeAllowTownEvent, courtesy of Veyronity with PR #​8128.
    • An event thrown when a town is assessed during the nation proximity tests, allowing plugins to modify nation proximity rules on a per-town basis.

🔧 Fixed (60)

🔧 Fixed:

  • Fix admin permissions on LuckPerms-using servers where OPs do not receieve towny.admin.
    • OPs will now be given the towny.admin permission node by default.
    • Closes #​8017.
  • Fix town bank accounts being removed before the feature isDeletedObjectBalancePaidToOwner can finish logging into the bank history book.
  • Fix copper golem test that caused Could not pass event ItemTransportingEntityValidateTargetEvent spam.
  • Fix outposts not following the min_distances_ignored_for_towns_in_same_nation and min_distances_ignored_for_towns_in_allied_nation
    when min_distance_for_outpost_from_plot is tested while creating an outpost using /t claim outpost.
  • Add Interaction entity to right click protected list.
  • Fix unclaiming near to outposts while min_adjacent_claims feature is in use.
  • Fix the message shown to mayors and assistants when someone spawns to their town showing prior to the teleport warmup time, resulting in unneeded messages.
  • Fix 2 points where permission node tests bypass the adminbypass mode.
  • Fix the message shown to mayors and assistants when someone spawns to their town showing prior to the teleport warmup time, resulting in unneeded messages.
  • Fix towns having a spawn point in a non-existent world preventing the town being deleted.
  • Fix admins with the adminbypass mode active not receiving teleport warmups and cooldowns.
  • Fix occasions where plot groups exist in townblocks being removed.
  • Fix itemuse list not being used against projectiles which are fired into the air.
  • Fix titles messages showing their subtitle in the title position.
  • Fix towny_teleport_warmup_seconds permission node not working.
  • Fix adminbypass mode not applying to nationzones.
  • Fix title and surname settings issues.
  • Fix plot command being blocked in ruined Towns for players who are not town members.
  • Fix nation-level-getting broken in 0.102.0.8.
  • Fix HUDManager not accepting added HUDs.
  • Fix empty nations saving themselves instead of getting deleted.
  • Fix not throwing PlayerChangePlotEvents for passengers.
  • Fix /towny prices missing the max tax percent caps when a town or nation has taxpercent in use.
  • Fix added padding of scoreboards.
  • Fix consider_enemies_outlaws config setting not applying to towns who are enemies with each other.
  • Fix Nation's newCapitalFinder being able to pick a conquered town.
  • Fix gradients not working when parsed through resident.formattedName().
  • Fix a bunch of nation and town level weirdness, courtesy of Warrior with PR #​8091.
    • Fixed getTownLevelMax always being 1 too high
    • Fixed TownLevelDecrease/IncreaseEvent firing for towns that have a manually set town level.
    • Fixed the code around the Town/NationLevelDecrease/IncreaseEvent bypassing the level calculate events, possibly causing them to be wrongly fired when a plugin is calculating its own levels with the level calculate events.
    • Town merge:
      • Fixed the town's resident amount being used instead of the nation's resident amount for max outpost calculations.
      • Fixed max purchased blocks not using the number of townblocks to calculate the town level when configured to do so.
      • Fixed the purchased and bonus blocks of the succumbing town not being limited by the town block limit option when the town_block_ratio is in use.
    • Fixed nation level methods wrongly using the modifier and level interchangeably (i.e. getNationLevelFromGivenInt was returning the floored modifier rather than the actual level).
  • Prevent renaming town/nation files when name is invalid, courtesy of Warrior with PR #​8137.
    • Flatfile databases which loaded towns/nations with invalid names could result in a town/nation file being created with a name instead of a UUID.
  • Fix exception when attempting to query NPC perms through LuckPerms, courtesy of Warrior with PR #​8033.
  • Remove world references stored inside WorldCoord, courtesy of Warrior with PR #​8050.
  • Fix message when attempting to overclaim your own town, courtesy of Warrior with PR #​8051.
  • Reduce allocations done by Resident hasRank methods, courtesy of Warrior with PR #​8037.
  • Lazily initialize maps used by TownBlock, courtesy of Warrior with PR #​8049.
  • Fix the townyperms group command not working with capitalized groups, courtesy of Warrior with PR #​8055.
  • Add null checks to the task schedulers, courtesy of Warrior with PR #​8060.
  • Enforce notnull for economy account name/uuid fields, courtesy of Warrior with PR #​7705.
  • Allow empty towns to turn into ruins, courtesy of Warrior with PR #​8071.
  • Fix IllegalArgumentException when a plugin we integrate with has a bad version, courtesy of Warrior with PR #​8072.
  • Fix the mayor succession event not being fired, courtesy of Warrior with PR #​8086.
  • Restrict usable minimessage tags in titles/surnames, courtesy of Warrior with PR #​8096.
  • Re-add removed res_8 lang string, courtesy of Warrior with PR #​8097.
  • Lower listener priorities for block events, courtesy of Warrior with PR #​8123.
  • Remove enderchests from default switch_ids config, courtesy of Warrior with PR #​8147.
  • Simplify explosion revert BlockState handling, courtesy of Warrior with PR #​8153.
  • Use dedicated age lock event instead of interact listener, courtesy of Warrior with PR #​8158.
  • Check the chunk is still wilderness after confirmation in /town new, courtesy of Veyronity with PR #​8059. (First-Time Contributor!)
  • Fix IndexOutOfBounds exception in /t join, courtesy of Veyronity with PR #​8062.
  • Ignore colors in length validation, strip unwanted minimessage tags, courtesy of Veyronity with PR #​8116.
  • NameValidation: Strip dangerous tags, not the allowed ones, courtesy of Veyronity with PR #​8156.
  • Bump javadoc plugin and fix javadoc goal not applying formatting, courtesy of SulkyWhale with PR #​8161.
  • Fix incorrect color for overclaimed upkeep, courtesy of SulkyWhale with PR #​8173.
  • Fix spacing for perm line after changing perms, courtesy of SulkyWhale with PR #​8174.
  • Fix a logic error in the PlotGroup#setResident function, courtesy of Remasuri with PR #​8043. (First-Time Contributor!)
  • Fix SQL loading of forSale, forSalePrice, and forSaleTime, courtesy of Groovymeister with PR #​8063. (First-Time Contributor!)
  • Fix unneeded msg_invalid_name exception message from /n enemy, courtesy of pernio with PR #​8073. (First-Time Contributor!)

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.14 Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.14 - autoclosed Apr 16, 2026
@renovate renovate Bot closed this Apr 16, 2026
@renovate renovate Bot deleted the renovate/com.palmergames.bukkit.towny-towny-0.x branch April 16, 2026 08:33
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.14 - autoclosed Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.14 Apr 16, 2026
@renovate renovate Bot reopened this Apr 16, 2026
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch 2 times, most recently from 0a1b066 to 98e7494 Compare April 16, 2026 18:07
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch from 98e7494 to 3ee7d34 Compare May 8, 2026 12:07
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.14 Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.15 May 8, 2026
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch from 3ee7d34 to 09b032c Compare May 9, 2026 13:38
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.102.0.15 Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.0 May 9, 2026
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch from 09b032c to 7583fee Compare May 24, 2026 09:05
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.0 Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.1 May 24, 2026
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch from 7583fee to 6de0ef5 Compare June 3, 2026 14:04
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.1 Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.2 Jun 3, 2026
@renovate renovate Bot force-pushed the renovate/com.palmergames.bukkit.towny-towny-0.x branch from 6de0ef5 to 0c359b3 Compare June 14, 2026 16:12
@renovate renovate Bot changed the title Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.2 Update dependency com.palmergames.bukkit.towny:towny to v0.103.0.3 Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants