Unofficial site, not affiliated with modrinth.com.What is this?
  • Towny 0.103.0.0

    release8 мая 2026 г.

    Towny Advanced 0.103.0.0

    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.

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

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

      • Closes #8045.
    • Add info/meta node for overriding teleport warmup.

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

      • Closes #8095.
    • Add maximum deposit and withdraw settings for towns and nations.

      • Closes #8046.
    • Adds option to deny cross world teleportation.

      • Closes #8162.
    • 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.
      • Closes #8031.
    • Fix copper golem test that caused Could not pass event ItemTransportingEntityValidateTargetEvent spam.
      • Closes #8085.
    • 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.
      • Closes #7829.
    • Add Interaction entity to right click protected list.
      • Closes #8121.
    • Fix unclaiming near to outposts while min_adjacent_claims feature is in use.
      • Closes #7891.
    • 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!)
    • Skip proximity checks when minimum plot distance is set to 0, courtesy of MakcNmk with PR #8087. (First-Time Contributor!)
    • Fix Outlaw teleportation on Folia / Add support for Canvas outlaw teleportation, courtesy of Jsinco #8138. (First-Time Contributor!)
    • Fix maxJailedUnjail method when town has no jailed residents, courtesy of Dionert with PR #8141. (First-Time Contributor!)

    🌏 Language Updates (1)

    🌏 Language Updates:

    • Regular updates via Crowdin.

    🌏 Dependency Updates (17)

    🌏 Dependency Updates:

    • Bump com.zaxxer:HikariCP from 6.2.1 to 7.0.2.
    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.2 to 3.5.5.
    • Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0.
    • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.13.0 to 3.15.0.
    • Bump org.apache.logging.log4j:log4j-core from 2.24.3 to 2.25.4.
    • Bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.2.
    • Bump junit.version from 5.13.4 to 6.0.3.
    • Bump net.luckperms:api from 5.4 to 5.5.
    • Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0.
    • Bump net.milkbowl.vault:VaultUnlockedAPI from 2.9 to 2.15.
    • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.12.0.
    • Bump net.coreprotect:coreprotect from 22.4 to 23.2.
    • Bump me.clip:placeholderapi from 2.11.6 to 2.12.2.
    • Bump org.apache.commons:commons-compress from 1.26.2 to 1.28.0.
    • Bump org.jetbrains:annotations from 26.0.2 to 26.1.0.
    • Bump org.bstats:bstats-bukkit from 3.1.0 to 3.2.1.
    • Bump io.github.git-commit-id:git-commit-id-maven-plugin from 9.0.2 to 10.0.0.

    👽 Placeholder Updates (7)

    👽 Placeholder Updates:

    • %townyadvanced_player_location_in_homeblock% - Returns a string TRUE or FALSE if the player is in a homeblock.
    • %townyadvanced_player_location_in_homeblock_owntown% - Returns a string TRUE or FALSE if the player is in a homeblock belonging to their town.
    • %townyadvanced_player_location_in_homeblock_ownnation% - Returns a string TRUE or FALSE if the player is in a homeblock belonging to a town in the player's nation.
    • %townyadvanced_player_location_in_homeblock_enemy% - Returns a string TRUE or FALSE if the player is in a homeblock belonging to a town that is enemied with the player's town.
    • %townyadvanced_player_location_in_homeblock_ally% - Returns a string TRUE or FALSE if the player is in a homeblock belonging to a town that is allied with the player's town.
    • %townyadvanced_town_outposts_claimed%
      • Displays how many outposts a town has, when the player has a town.
      • Closes #8114.
    • %townyadvanced_top_town_residents_and_open_n% - (Replace n with a number) Displays the nth Town that is open, arranged by the number of residents.

    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 development as active as it is,
    and who supported me during this release of Towny.

    DrprofLuigiakup001pebblehostDiimoniixtomhmagicjshalbrook
    LuexaTurtleCraftManGoodrichDevchessmastertobecobrex1lexiccn
    WaspyethanStoniasawesomeSmallSansSeriftrevor1097KeNickGongMilesBHuff
    SolarCivLitning11Bloc-kxSTORMYxSHMlukemangoTheeno74
    Rekar7Folas1337keijodputtNeumimToStevenSharkerRialkingg
    ewofKermXTylorTurnerHippieBeakNewspoetdruidbrandon
    yurddZacharySeebeck2020JosefofMongoliaBattleBornPMCMrG00s3ubobubob
    loanderKarl4sKr1stuX32dannyxJ0TxKRDucky
    minefortcomElementals-bitEmperorDazedWoodiieTesqageFusionZ1
    ShermansWorldyolo69-stsAndyRecktKeKnowltonAtexur99StaccatoAunt007
    FantaFreak04KuvviiJsincoLucasUnderlineerenmakalatlasmcplugins
    DGCreatesssdrive-flaktraPhatdog731uplex11KrarwiFutureLemon
    MomshroomgerardvanschipItzXPurpleXspikehiddenAncientSMCorruptedGreed
    TriaieSupersmurf82NikkilectricCactusbandityurigarciiaspektrsoyuz
    GeraldR12Triumvir-CivlDoomerlNotAndre157Gl0W1Egorbyhail
    Sexy-JuraTheNyloxand 36 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders

    ⏬ Download available as a .zip file in the Assets section below:

  • Towny 0.102.0.0

    release11 ноября 2025 г.

    Towny Advanced 0.102.0.0

    Release contains:

    Towny 0.102.0.0 TownyChat 0.119

    Welcome to Towny 0.102.0.0.
    Towny 0.102.0.0 is the first release in the 0.102.*.* series!
    0.102.0.0 marks a large shift in development, the main point being that Towny now targets Paper and its derivatives!
    This means that servers using Craftbukkit or Spigot will need to update to Paper, Folia or Purpur.
    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 critical 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 (28)

    ➕ Added:

    • Add option to make a town's town_level determined by their townblock count, instead of resident count.
      • Closes #7947.
    • Add ability to set max town and nation board lengths.
    • Add unformatted upkeep PAPI placeholders.
      • Closes #7943.
    • Target Paper instead of spigot, courtesy of Warrior with PR #7885.
      • Towny will now require Paper or one of its derivatives.
      • Towny will not start if your server uses Spigot or Craftbukkit.
      • Some plugins will not work until they are updated to no longer use the now-removed com.palmergames.adventure package.
        • Before you update Towny look at whether you use TownyResources, TownyFlight, other Towny add-on plugins, Sponsor plugins created by LlmDl.
        • If you are using these plugins do not update your Towny to 0.101.2.5 immediately.
    • Add support for new 1.21.9 blocks, courtesy of Warrior with PR #7913.
      • Adds support for copper golems being protected from waxing/scraping.
      • Adds support for new chests and shelves being treated as switches.
    • Log removed blocks with coreprotect, courtesy of Warrior with PR #7898.
    • Add build information to the version command, courtesy of Warrior with PR #7914.
    • Add town & nation upkeep & neutrality payment events, courtesy of Alienn-Know & Warrior with PR #7888.
    • Use a property for junit versions, courtesy of Warrior with PR #7926.
    • Add /res friend list online subcommand, courtesy of Warrior with PR #7928.
    • Add LuckPerms permissions source, courtesy of Warrior with PR #7933.
    • Hide scores in scoreboard huds, courtesy of Warrior with PR #7886.
    • Replace MethodHandles with method calls where possible, courtesy of Warrior with PR #7887.
    • Improve SQL db startup speed by querying existing tables, courtesy of Warrior with PR #7972.
    • Add an sql database migrator, courtesy of Warrior with PR #7968.
    • Format resident last online with relative time, courtesy of Warrior with PR #7986.
    • Add renaming Towny ranks, courtesy of SulkyWhale with PR #7884.
    • Add tab completions for /plot group toggle, courtesy of SulkyWhale with PR #7897.
    • Add new constructor for ListDataField, courtesy of SulkyWhale with PR #7937.
    • Add saving of hasActiveWar for towns and nations, courtesy of SulkyWhale with PR #8002.
    • Add config option for non-public towns to show map link, courtesy of GoodrichDev with PR #7873.
      • Allows non-public towns to display a clickable map link in the town status screens, making it easier for players and admins to locate towns on the web map, even if the towns are private.
      • Closes #7872.
    • Add Town forSaleTime for use in API, courtesy of GoodrichDev #7908. - Closes #7907.
    • Add option to make safe teleport stop spawning when no safe position is found, courtesy of RyanoDino with PR #7964.
    • Add setting for default peaceful nation to create, courtesy of RyanoDino with PR #8000.
      • Closes #7970.
    • Add world toggle for jailing, courtesy of squeaky2137 with PR #7863.
      • Closes #7817.
    • Add permission validation for town allylist & enemylist commands, courtesy of Lemar98 with PR #7899.
    • Add PAPI Placeholders for unformatted tags for town and nation along with any overrides, courtesy of OoLunar with PR #7917.
    • Add prior location to SuccessfulTownyTeleportEvent, courtesy of flyncodes with PR #7984.

    ➕ Automatic Config Edits (1)

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

    • ",COPPER_CHEST,COPPER_GOLEM_STATUE,SHELVES" will be added to the config.yml's switch_ids.

    ✨ Command Changes (8)
    ✨ New Commands (8)

    ✨ New Commands:

    • /ta eco depositalltowns [amount]
      • Deposits money to all towns.
    • /ta eco depositallnations [amount]
      • Deposits money to all nations.
    • /ta townyperms townrank renamerank [oldrankname] [newrankname]
      • Renames a town rank to a new name.
    • /ta townyperms nationrank renamerank [oldrankname] [newrankname]
      • Renames a nation rank to a new name.
    • /tw toggle jailing
      • Turns jailing on/off in the world.
    • /res toggle ignoresinvites.
      • Allows players to automatically ignore town invites, useful for server staff.
    • /t list by forsale
      • Lists towns with a preference for towns which are currently forsale using /t forsale.
    • /res friend list online
      • Shows you a list of online friends.

    ✨ Changed Commands (0)

    ✨ Changed Commands:

    • None.

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (5)
    📕 New Config Options (5)

    📕 New Config Options:

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

    • plugin.interfacing.web_map.non_public_towns_show_map_link
      • Default: false
      • When true, non-public towns will show a link to their map location in the town status screen.
    • new_world_settings.plot_management.jailing_enabled
      • Default: true
      • Sets the default setting for newly detected worlds.
    • global_town_settings.town_level_is_determined_by_townblock_count_instead_of_resident_count
      • Default: false
      • When set to true, the town's TownLevel is determined by the number of townblocks the town owns, instead of the number of residents.
      • This setting will have no effect when town_block_ratio is set to 0.
    • global_town_settings.max_board_length
      • Default: 170
      • The maximum number of characters that the town (and nation,) board messages can be.
    • nation.default_neutral
      • Default: true
      • Default neutral status of the nation (are new nations neutral by default?)

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


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

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • towny.command.townyadmin.eco.depositalltowns
      • Child Node of towny.command.townyadmin.eco.*.
    • towny.command.townyadmin.eco.depositallnations
      • Child Node of towny.command.townyadmin.eco.*.
    • towny.command.townyworld.toggle.jailing
    • towny.command.town.allylist
      • Add this to the nomad section of the townyperms.yml file if you would like.
    • towny.command.town.enemylist
      • Add this to the nomad section of the townyperms.yml file if you would like.
    • towny.command.resident.toggle.ignoreinvites
      • Child node of towny.command.resident.toggle.*, no changes to townyperms.yml required.
    • towny.command.town.list.forsale
      • Child node of towny.command.town.list.*, no changes to townyperms.yml required.

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.


    💻 API Changes (2)

    💻 API:

    • New API Events:
      • NationNeutralCostPaidEvent
      • TownNeutralCostPaidEvent

    🔧 Fixed (58)

    🔧 Fixed:

    • Allow the TownPreUnclaimEvent to no longer be fired when a town is being deleted, allowing Districts to get properly deleted when their town will no longer exist.
      • Closes #7889.
    • Fix districts becoming un-unclaimable.
      • Closes #7921.
    • Fix unneeded msg_invalid_name exception message from /n ally.
      • Closes #8006.
    • Idiot-proof the webmap URL.
    • Fix Overclaimed Upkeep Penalty not being charged to towns which don't pay any upkeep.
    • Fix /ta nation NAME set capital command not making sure the town in question is part of a nation or in the nation at all.
    • Fix mountable entities having their saddles sheared, copper golems having their items dropped.
    • Suppress outlaw warning for spectators, courtesy of Warrior with PR #7919.
      • Closes #7918.
    • Replace AtomicReference usages in the task scheduler, courtesy of Warrior with PR #7906.
      • Closes #7903.
    • Fix getting lingering potion effects on legacy versions, courtesy of Warrior with PR #7997.
      • Closes #7996.
    • Fix getting respawn location <1.21.5, courtesy of Warrior with PR #7998.
      • Closes #7995.
    • Clear resident gui pages on logout, courtesy of Warrior with PR #7896.
    • Precompute mob removal classes to entity types, courtesy of Warrior with PR #7894.
    • Always read global.yml for overrides, courtesy of Warrior with PR #7877.
    • Fix language dash -> underscore normalization NPE, courtesy of Warrior with PR #7929.
    • Merge the build and test actions back into one, courtesy of Warrior with PR #7930.
    • Fix the paper startup check, courtesy of Warrior with PR #7954.
    • Fix offline player reflection for 1.21.9, courtesy of Warrior with PR #7973.
    • Replace trivial streams in Town & mark as unmodifiable, courtesy of Warrior with PR #7946.
    • Sort /t list by forsale by for sale price, courtesy of Warrior with PR #7951.
    • Use mediumtext datatype for metadata in mysql, courtesy of Warrior with PR #7967.
    • Update BookFactory to use components, courtesy of Warrior with PR #7980.
    • Deprecate legacy color constants in our Colors class, courtesy of Warrior with PR #7981.
    • Allow getting TownyException error message as component, courtesy of Warrior with PR #7983.
    • Testperm for checkperm, courtesy of Warrior with PR #7987.
    • Delete received nation ally requests if sender deletes itself, courtesy of Warrior with PR #7988.
    • Revert change to potion protection handling, courtesy of Warrior with PR #7990.
    • Improve lingering potion protection, courtesy of Warrior with PR #7991.
    • Replace pre 1.19 entity/block keys with constants, courtesy of Warrior with PR #7992.
    • Update inventory system to use components & PDC, courtesy of Warrior with PR #7982.
    • Fix the changelog reader thinking the limit has been reached, courtesy of Warrior with PR #7994.
    • Fix literal translatables attempting to translate, courtesy of Warrior with PR #7999.
    • Fix formatting for listing resident modes, courtesy of SulkyWhale with PR #7952.
    • Improve method for preventing saturation loss in towns, courtesy of SulkyWhale with PR #7958.
    • Remove duplicate events and update existing events to allow value changes via the API, courtesy of SulkyWhale with PR #7966.
    • Send the eco prefix with rename calls to VaultUnlocked, courtesy of creatorfromhell with PR #7878.
    • Fix plotpreclaim cancel message, courtesy of ZapolyarnyDev with PR #7924.
      • Closes #7868.
    • Stop using Properties to load object files, preserve raw metadata for #7925, courtesy of GoodrichDev with PR #7935.
      • Closes #7925.

    🌏 Language Updates (1)

    🌏 Language Updates:

    • Macedonian added to lang files..

    🌏 Dependency Updates (0)

    🌏 Dependency Updates:

    • None.

    👽 Placeholder Updates (6)

    👽 Placeholder Updates:

    • %townyadvanced_town_tag_unformatted% - The town tag without any formatting from the Towny config.yml.
    • %townyadvanced_town_tag_override_unformatted% - The town tag (or town name if no tag is set,) without any formatting from the Towny config.yml.
    • %townyadvanced_nation_tag_unformatted% - The nation tag without any formatting from the Towny config.yml.
    • %townyadvanced_nation_tag_override_unformatted% - The nation tag (or nation name if no tag is set,) without any formatting from the Towny config.yml.
    • %townyadvanced_daily_town_upkeep_unformatted% - An unformatted town upkeep amount.
    • %townyadvanced_daily_nation_upkeep_unformatted% - An unformatted nation upkeep amount.

    💬 TownyChat Changes (0)

    💬 TownyChat Changes:

    • None.

    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 development as active as it is,
    and who supported me during this release of Towny.

    MrLoganoMomshroomCobrex1DrprofLuigiTheNyloxpebblehost
    @Gl0W1Eakup001EcoSMPTheeno74Rekar7guillermodiazkiernans
    keijodputtNeumimTovette-danielAncientSMHikitsune-RedEpicSpeed
    CorruptedGreedProjectGuinnesstrevor1097CorruptVDGabrielTKPolo-lulu
    Folas1337Bloc-kxSTORMYxSHMManul-NewtonPolo-luluediton96
    gerardvanschip TheWordSmith123MKieburtzKermXgorbyhailMilesBHuff
    KeNickGongRandalABurdJrSW1D3RSK1lukemangojshalbrookOdin-The-All-Father
    BeeeffSexy-JuraTylorTurner TriaieSupersmurf82jb0s
    yurddNikkilectricLuexaTylorTurnerCactusbanditKepZee
    CannonMan1605davider0simondumalskispikehidden HippieBeak MetaverseRPN
    tomhmagic ZacharySeebeck2020Realm-Of-RhayaItzXPurpleXPookachuMrG00s3
    Litning11ubobubobloanderbLanarkowYuriGGLeBlach
    druidmattKarl4sArchimedes09932dannyspektrsoyuzDrPanda123
    KRDuckyminefortcom Duncan56sengfuestEmperorDazed tripsittr
    EblyssWoodiie MrMirhanTechirionGraffAirwatchoftarturus
    GoodrichDevScrafttechTesqage FusionZ1 ShermansWorldLupancham
    JustoPlayzTurtleCraftManSkittlez420ozminiliam7zinck78 Ru1n0609
    AndyRecktjaceh555 KeKnowltonGeorgeNanceAtexur99StaccatoAunt007
    terminamcgru-the-usaSolarCivspheroidondiskawrsHTMLDevelopment
    Elementals-bitDenum1999and 60 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders
  • Towny 0.101.2.0

    release12 июля 2025 г.

    Towny Advanced 0.101.2.0

    Release contains:

    Towny 0.101.2.0 TownyChat 0.119

    Welcome to Towny 0.101.2.0.
    Towny 0.101.2.0 is the third release in the 0.101.*.* series!
    0.101.2.0 is fairly light on new stuff but comes with critical fixes for servers on some versions of Minecraft.
    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 critical 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 (15)

    ➕ Added:

    • Add the ability to make town and nation ranks require a town or nation level.

      • The towns.ranks and nations.ranks sections support requiring their town or nation to have a minimum town_level or nation_level.
      • This means that you can lock ranks behind a town or nation's population. By adding a permission node to a rank you will set this requirement:
        • towny.town_level_requirement.4
      • Adding this to a town rank will require the Town to have a town_level of 4 or more to be able to assign that rank to their residents.
      • If the town lost population the residents with a rank beyond their town's town_level will have that rank removed from them.
      • When their town regains enough population, that rank will automatically be re-assigned to the resident.
      • When a town rank does not contain this node it will have no town_level requirement.
      • Likewise, nation ranks support an optional nation_level requirement, Ex:
        • towny.nation_level_requirement.4
      • When added to a nation rank this rank will only be granted when a nation is of level 4 or greater.
      • When a nation rank does not include this node it will not require any nation_level.
      • Closes #7681 & #7541.
    • Add the ability to use k, m and b in various money commands in Towny.

      • ex: /t deposit 1k, will deposit 1000 into the town bank.
      • Closes #7759.
    • Add the ability to harm outlaws, and separately make outlaws be able to always harm people in towns.

      • Closes #7733.
    • Add optional -ignore subcommand to /town leave.

      • When used, the player will not have to confirm their leaving the town.
    • Add per-day, per-outpost upkeep cost to /towny prices when per_outpost_cost is above 0 in the config.

      • Closes #7816.
    • Allow the confirmation and invitation messages' colouring and formatting to be configurable.

      • Closes #7849.
    • Allow townyadvanced_top PAPI placeholders to be handled using a null player.

      • Closes #7830.
    • Add the ability to make conquered towns no longer included in a nation's plot perms.

    • Allow admins to bypass the outpost limit meant to stop spawning when a town is over their outpost limit.

    • Add SHORT_GRASS to the list of plants, fixing an issue with safe teleports.

    • Add CARPETS to the item lists, fixing an issue with safe teleports.

    • Add 1.21 potion types as detrimental, courtesy of Warrior with PR #7778.
    • Add a new resident district mode and aligned tab completion for /plot district with help and codebase, courtesy of SulkyWhale with PR #7761.
    • Update console town help, courtesy of SulkyWhale with PR #7803.
    • Automatically add the 1.21.4 tree, flower, and moss blocks to the farm allowed blocks in existing configs, courtesy of Momshroom with PR #7750.

    ➕ Automatic Config Edits (2)

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

    • "PALE_OAK_LOG,PALE_MOSS_BLOCK,PALE_MOSS_CARPET,PALE_OAK_SAPLING,PALE_HANGING_MOSS,PALE_OAK_LEAVES,CLOSED_EYEBLOSSOM,OPEN_EYEBLOSSOM," will be added to your config's farm plot's allowedBlocks section.
    • ",WIND_CHARGED,WEAVING,INFESTED,OOZING" will be added to the protection.potion_types in the config.yml.

    ✨ Command Changes (1)
    ✨ New Commands (1)

    ✨ New Commands:

    • /res toggle district
      • When working with districts, toggling this Mode on will make all plots you walk into a part of the last district you set.

    ✨ Changed Commands (0)

    ✨ Changed Commands:

    • None.

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (6)
    📕 New Config Options (6)

    📕 New Config Options:

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

    • global_town_settings.force_pvp_on_outlaws

      • Default: false
      • While true, outlaws can always be harmed in towns they are outlawed in.
    • global_town_settings.allows_outlaws_to_always_pvp

      • Default: false
      • While true, outlaws can always harm players in towns they are outlawed in, despite the town pvp setting.
    • global_nation_settings.are_conquered_towns_given_nation_plot_perms

      • Default: true
      • While true, conquered towns will be considered a member of good standing in the nation, and will be treated as normal nation members when plot perms are calculated.
      • When set to false plot permission tests will treat conquered towns' residents as not members of their nations, preventing them from using their host nation's plots while the nation's towns have nation plot perms enabled.
    • invite_system.confirmation_format

      • Default: [/%s]
      • The format applied to the clickable confirmations.
      • e.g [/accept] would appear as default.
    • invite_system.confirmation_yes_colour

      • Default:
      • The colour used to show the accept and confirm commands.
      • Allowed colours: ,<dark_blue>,<dark_green>,<dark_aqua>,<dark_red>,<dark_purple>,,,<dark_gray>,,,,,<light_purple>,,
    • invite_system.confirmation_no_colour

      • Default:
      • The colour used to show the deny and cancel commands.
      • Allowed colours: ,<dark_blue>,<dark_green>,<dark_aqua>,<dark_red>,<dark_purple>,,,<dark_gray>,,,,,<light_purple>,,"

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


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

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • towny.command.resident.toggle.district
      • Required to use /res toggle district command.

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.


    💻 API Changes (1)

    💻 API:

    • Add TownCalculateMaxTownBlocksEvent, courtesy of Warrior with PR #7857.
      • Adds an event that is fired when the max town size is calculated, allowing plugins to change/override it in a more dynamic manner.

    🔧 Fixed (58)

    🔧 Fixed:

    • Cause outlawing and enemying to remove trust status in town, plot and trusted town lists.

      • Also prevents trust being given to outlaws, enemies in plots, towns and trusted town lists.
      • Clsoes #7818.
    • Enforce the max_nation_conquered_tax on nations who might have set a value that wouldn't be able to be set any longer.

      • Closes ##7755.
    • Fix edge-case scenario where towns that have grown via purchased townblocks are prevented from merging with another town.

      • Closes #7719.
    • Fix the per_outpost_cost causing very large amount of upkeep on servers with town_plotbased_upkeep set to true.

      • per_outpost_cost is now added to the upkeep after the upkeep has had all of its multipliers take effect.
    • Fix border titles not parsing their colour codes.

      • Closes #7797.
    • Set using bottles and shears on honey-producing blocks to use an ItemUse test instead of a destroy test.

      • Closes #7804.
    • Fixes the tabcompleter for TownyAddonCommands.

      • Closes #7834.
    • Fix messages missing their Hovers and non-functional Clickables.

      • Closes #7852
    • Read Ascii map symbols from the config on first load.

      • Closes #7875.
    • Replace a couple of deprecations required when we supported MC 1.16.*.

    • Fix showing spawn hovers in the nation and town list, when the config is set to prevent all spawning.

    • Fix PlayerChangePlotEvent not firing when a player changes plots by entering into a vehicle.

    • Fix loophole that allowed a District to become separated from other townblocks in the District.

    • Fix players in Spectator Mode triggering the the outlaw-entered-town feature.

    • Fix config comments for plugin.interfacing.web_map.url.

    • Fixes an issue where a renamed resident cannot access their trusted plots.

    • Fix outpost limit of zero being able to be bypassed via command.

    • Fix adjacent district plot error message.

    • Fix Town#getLevelNumber returning funny numbers on Towns. Make the code more understandable.

    • Fix conquered towns not losing their conquered status when their nation is removed.

    • Fix Towns reporting an incorrect Town level number.

    • Fix rare instance of a plugin breaking the PlayerFishEvent.

    • Fix which type of cauldron is tested for in CauldronLevelChangeEvents, allowing for the creation of brewery plots.

    • Fix TownRuinUtil trying to pay town bank balances to their nation when economy is not enabled.

    • Fix neutrality costs not being applied to towns who have an upkeep cost of 0.

    • Fix safe teleport system not looking downwards and sending players up 20 blocks higher than it should.

    • Fix the does_adding_colour_codes_require_permission_node config setting not working properly.

    • Cause kicking or outlawing residents from your town to also remove any trusted status they have in your town and your town's plots.

    • Fix an issue with spawn nodes missing a child node that should have been denied.

    • Fix renaming plotgroups and districts allowing names which are too long.

    • Fix other plugins from using CombatUtil#preventFriendlyFire in non-Towny worlds.

    • Prevent NPE thrown by jail plots which have a null jail, during townblock removal.

    • Fixed missing feedback message when an admin kicks a town from a nation.

    • Fix TownRuinUtil choking on 0-townblock towns when determining plot permission changes.

    • Fix incorrect message seen in the /plot set HelpMenu.

    • Fix extra space added to the "(PVP)" slug seen when entering the wilderness.

    • Fix Towny using VaultUnlockedEconomyProvider when someone is using VaultUnlocked.jar and a legacy Vault economy plugin.

    • Fix throwing TownCalculateMaxTownBlocksEvent async.

    • Fix resident purge messaging saying it is deleting a resident when its really just trying to remove the resident's town.

    • Fix inaccurate removal message when inactive residents are only losing their town, also suppress resident-deleted-messages when more than 50 residents are removed at once.

    • Re-add switch tests on left click for specified switch items.

    • Fix nation plot perms not being given out for un-conquered towns when are_conquered_towns_given_nation_plot_perms is set to true.

    • Don't log for cancelled pre claim events, courtesy of Warrior with PR #7793.

      • Closes #7792.
    • Call ascii map static initializer before initial config load, courtesy of Warrior with PR #7808.

      • Closes #7801.
    • Fix selection gui item ordering being wack, courtesy of Warrior with PR #7866.

      • /towny switches, /towny itemuse, /towny allowedblocks should maintain a sane ordering.
    • Fix an NPE in the isOutlawInTown method, courtesy of Warrior with PR #7736.

    • Only fire successful teleport event on successful teleport, courtesy of Warrior with PR #7749.

    • Fix for resident rename weirdness, courtesy of Warrior with PR #7765.

    • Correctly remove bad outpost spawns in getOutpostNames, courtesy of Warrior with PR #7820.

    • Prevent silverfish from infesting blocks inside towns, courtesy of Warrior with PR #7827.

    • Fix hardcoded $ currency symbol in message, courtesy of Warrior with PR #7843.

    • Fix tasks/timers not being shut down before datasource, courtesy of Warrior with PR #7865.

    • Fixed format for "Owner" in MapHUD, courtesy of SulkyWhale with PR #7744. (First-Time Contributor!)
    • Fix ArrayIndexOutOfBoundsException in /plot district add, courtesy of SulkyWhale with PR #7760.
    • Fix error when /t reslist is run from console without a town argument, courtesy of SulkyWhale with PR #7802.
    • Fix splash potion not applying to mobs, courtesy of SulkyWhale with PR #7839.
      • Closes #7838.
    • Use Java 21 on Jitpack, courtesy of PimvanderLoos with PR #7746. (First-Time Contributor!)
    • Fix SQL database not correctly loading existing TownyWorld's settings, courtesy of jb0s with PR #7833. (First-Time Contributor!)
      • Fixes the issue where some worlds always take on the default new world settings.

    🌏 Language Updates (0)

    🌏 Language Updates:

    • None.

    🌏 Dependency Updates (5)

    🌏 Dependency Updates:

    • Bump org.jetbrains:annotations from 26.0.1 to 26.0.2.
    • Bump net.kyori:adventure-text-serializer-plain from 4.18.0 to 4.19.0.
    • Bump net.kyori:adventure-text-minimessage from 4.18.0 to 4.19.0.
    • Update MockBukkit to 4.50.0.
    • Update Adventure for 1.21.6 & 1.21.7 support, courtesy of Warrior with PR #7876.

    👽 Placeholder Updates (0)

    👽 Placeholder Updates:

    • None.

    💬 TownyChat Changes (1)

    💬 TownyChat Changes:

    • Fix speak and listen channel nodes not working.

    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 development as active as it is,
    and who supported me during this release of Towny.

    MrLoganoMomshroomCobrex1DrprofLuigiTheNyloxpebblehost
    @Gl0W1Eakup001EcoSMPTheeno74Rekar7guillermodiazkiernans
    keijodputtNeumimTovette-danielAncientSMHikitsune-RedEpicSpeed
    CorruptedGreedProjectGuinnesstrevor1097CorruptVDGabrielTKPolo-lulu
    Folas1337Bloc-kxSTORMYxSHMManul-NewtonPolo-luluediton96
    Intrabit71gerardvanschip TheWordSmith123MKieburtzExygleKermX
    gorbyhailMilesBHuffKeNickGongRandalABurdJrSW1D3RSK1lukemango
    jshalbrookOdin-The-All-FatherBeeeffSexy-JuraTylorTurner Triaie
    Supersmurf82jb0syurddNikkilectricflare2121Luexa
    TylorTurnerCactusbanditKepZee CannonMan1605davider0simondumalski
    im-wharspikehidden HippieBeak TegulaThePig MetaverseRPNtomhmagic
    ZacharySeebeck2020Realm-Of-RhayaItzXPurpleXPookachuHelios312Piopaw250168
    MrG00s3Litning11arif-banaiubobubobloanderbLanark
    HHiddenowYuriGGLeBlachdruidmattKarl4sArchimedes099
    SecondEarthOnline32dannyspektrsoyuzDrPanda123ExternalABX KRDucky
    TwizzyCodezM4lvsminefortcomstepanwrLegacyAspectSkyestryder
    BattleBornPMC Duncan56Skittlez420ozNaethu7 FireBird37sengfuest
    EmperorDazed respect0tripsittrpizzaboy189EblyssSenteris
    Woodiie MrMirhanYaBroBlackCatgabfukenKiszhenTechirion
    GraffAirwatchoftarturusRinovDevNowAidanonehndpercentBenedictCrutch
    Tristanye-uxGoodrichDevEarrthLegacyScrafttechTesqage FusionZ1
    LoJoShoShermansWorldand 58 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders
  • Towny 0.101.1.0

    release8 января 2025 г.

    Towny Advanced 0.101.1.0

    Release contains:

    Towny 0.101.1.0 TownyChat 0.117

    Welcome to Towny 0.101.1.0.
    Towny 0.101.1.0 is the second release in the 0.101.*.* series!
    0.101.1.0 is fairly light on new stuff but comes with critical fixes for servers on some versions of Minecraft. There's a few really Nice Things:tm: on the way for 0.101.2.0 though.
    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 critical 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 (3)

    ➕ Added:

    • Add TRIAL_SPAWNER to default list of reasons Towny won't remove mobs.
      • Works only on Paper servers.
      • This will prevent Towny from remove mobs spawned by Trial Chambers, which resulted in unearned rewards.
      • Closes #7709.
    • Add ability to spam jailed players with a title message showing them how to pay their bail.
    • Add config option for Closed Economy UUID, courtesy of turtledude01 with PR #7704.

    ➕ Automatic Config Edits (1)

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

    • New Config Migration: ",TRIAL_SPAWNER" will be added automatically to existing configs' town_mob_removal_ignored_spawn_causes list.

    ✨ Command Changes (1)
    ✨ New Commands (1)

    ✨ New Commands:

    • /plot evict forsale
      • Causes a newly evicted plot to be put back up for sale, using the town's default plot price.
      • Closes #7713.

    ✨ Changed Commands (0)

    ✨ Changed Commands:

    • None.

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (2)
    📕 New Config Options (2)

    📕 New Config Options:

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

    • jail.show_bail_command_in_title_message

      • Default: false
      • When enabled, player that can pay their bail will see a title message telling them how to pay their bail.
    • economy.closed_economy.server_account_uuid

      • Default: a73f39b0-1b7c-2930-b4a3-ce101812d926
      • The UUID of the account that all money that normally disappears goes into.

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


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

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • None.

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.


    💻 API Changes (0)

    💻 API:

    • None.

    🔧 Fixed (8)

    🔧 Fixed:

    • Fix map hud missing lines 13 and 9.
      • Closes #7699.
    • Remove methods deprecated during the 0.99.. release cycle, in time for the beginning of the 0.101.. release cycle.
    • Fix legacy economy provider check on admin logging in also running on servers with the economy aspect of Towny disabled.
    • Fix worlds not being saved after using /tw set usedefault.
    • Remove ability for /tw set wild being able to set a world to the default settings when no arguments are supplied.
    • Fix /plot evict command throwing ArrayIndexOutOfBoundsException.
    • Re-fix max health attribute, courtesy of Warrior with PR #7678.
      • Closes #7687.
    • Make the npc prefix check less strict and more precise, courtesy of Warrior with PR #7688.
    • Fix error message shown when using /plot group toggle taxed, courtesy of Alienn-Know with PR #7598. (First-Time Contributor!)

    🌏 Language Updates (0)

    🌏 Language Updates:

    • None.

    🌏 Dependency Updates (10)

    🌏 Dependency Updates:

    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2.
    • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.1 to 3.11.2.
    • Bump org.apache.logging.log4j:log4j-core from 2.24.1 to 2.24.3.
    • Bump com.zaxxer:HikariCP from 6.0.0 to 6.2.1.
    • Bump org.junit.jupiter:junit-jupiter-api from 5.11.3 to 5.11.4.
    • Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 5.11.4.
    • Bump net.kyori:adventure-text-serializer-plain from 4.17.0 to 4.18.0.
    • Bump net.kyori:adventure-text-minimessage from 4.17.0 to 4.18.0.
    • Drop Java back to 17 to support 1.19.
    • Update VaultUnlocked support 2.9.0.

    👽 Placeholder Updates (6)

    👽 Placeholder Updates:

    • %townyadvanced_town_formatted_with_town_minimessage_colour%
    • %townyadvanced_nation_formatted_with_nation_minimessage_colour%
      • These will use the Towny config's town and nation placeholder formatting, but insert the town or nation's colour code before the town or nation name.
    • %townyadvanced_towny_tag_override_with_minimessage_colour%
      • This will use the town or nation's tag if they have a tag in use.
    • %townyadvanced_resident_join_date_unformatted% - returns the long value of the time in epoch milliseconds that a player joined the server.
    • %townyadvanced_resident_join_date_formatted% - returns a human-readable date and time at which the player joined the server.
    • %townyadvanced_player_location_town_forsale_cost%
      • Displays the cost of the town at the player's location, or "Not for sale." if it is not for sale.
      • Closes #7708.

    💬 TownyChat Changes (2)

    💬 TownyChat Changes:

    • Add the ability to choose which EventPriority TownyChat uses to modify chat.
    • New ChatConfig.yml Option: modify_chat.listener_priority
      • Default: normal
      • The priority used for the AsyncPlayerChatEvent listener in TownyChat. This option will decide when TownyChat listens to the Chat event thrown by Bukkit-based servers.
      • Valid settings are: lowest, low, normal, high, highest
      • Lowest is the earliest listener, allowing TownyChat to act upon chat before Low, Normal, High, and Highest priority plugins.
      • Highest will cause TownyChat to change chat after other plugins operating on lower priorities.
      • If you don't know what any of this means leave it at normal.

    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 development as active as it is,
    and who supported me during this release of Towny.

    MrLoganoMomshroomCobrex1DrprofLuigiTheNyloxpebblehost
    NoikzGamingThePontificateGl0W1Eakup001EcoSMPTheeno74
    Rekar7guillermodiazkiernanskeijodputtNeumimTovette-danielAncientSM
    Hikitsune-RedDynamite99EpicSpeedMrLoganoCorruptedGreedProjectGuinness
    trevor1097MetaverseRPCorruptVDGabrielTKPolo-luluFolas1337
    gageeetPainOchoco Bloc-kxSTORMYxSHMManul-NewtonPolo-lulu
    editon96 Intrabit71gerardvanschip TheWordSmith123CasperTimmyMKieburtz
    ExygleKermXgorbyhailMilesBHuffKeNickGongRandalABurdJr
    Sk8nkillxCptSpiffyxAustinGoodrichFruitloopinsSW1D3RSK1lukemango
    jshalbrookPoseidonGamesOdin-The-All-FatherBeeeffSexy-Juraroflmarv
    TylorTurner MultipedBeatleDruidBrandon jsuarezlsde-wolfTriaie
    Supersmurf82jb0sSaytenicGirlstheFernofrommars2ArmonicPvPyurdd
    Nikkilectricflare2121ElTitiGG LuexaTylorTurnereat-your-glory
    CactusbanditWextra PolarisChrisKepZee CannonMan1605lashiam
    davider0simondumalskiim-wharjeffthebass zekepari spikehidden
    HippieBeak TheYetiNetkanbursTegulaThePig MetaverseRPNtomhmagic
    AtusHDZacharySeebeck2020Realm-Of-RhayaItzXPurpleXRyanDuderDunnoConz
    alevliarifPookachuColusite Helios312Piopaw250168KinglandLiu
    nhannon9KitsuneDev corrysamuSpellingwonderSwineFeather DonaldJTrumpOfficial
    codingsvcksMrMirhanZommbieWasTaken CrashCringle12PinebrickiRollNeed
    Rubyo2000AttiPlayzBattleBornPMCMrG00s3SirNublessSemisol
    SteveStan9925Litning11arif-banaiubobubobCharlesNicloander
    josegoustand 53 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders
  • Towny 0.101.0.0

    release9 декабря 2024 г.

    Towny Advanced 0.101.0.0

    Release contains:

    Towny 0.101.0.0 TownyChat 0.117

    Welcome to Towny 0.101.0.0.
    Towny 0.101.0.0 is the first release in the 0.101.*.* series!
    0.101.0.0 comes roughly a month late after Towny's 14th birthday!
    The 0.101.*.* version bump has come because significant enough changes and features have been made to Towny.
    Of note: Towny has a new Modern economy implementation. This was created by Warrior and has made Towny's town and nation banks compatible with more Vault1 plugins. You'll also spot that Towny has support for VaultUnlocked, which is Vault2. You will begin to see more and more plugins update to VaultUnlocked as time passes.
    Other middle-to-big updates over the course of the 0.100.*.* series included: Districts, Nation-Proximity overhaul, Resident Modes overhaul.
    This version supports any Minecraft version 0.19.* and newer! This version of Towny should be run using Java 21 or newer!
    This version contains critical 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 (17)

    ➕ Added:

    • Update Resident Modes system.

      • The modes system (townclaim, map, spy) code has been updated to more robust system than just a simple list.
      • Adds the ability to assign a permission node to a mode, and when present, will require the player to have the permission node to toggle a node.
      • This permission node is not required if the mode is part of a player's default modes set via the permission plugin.
      • Additionally, the ability to clear a residents modes via command now requires a permission node.
      • All together this makes it possible for admins to set modes that players cannot remove.
      • Modes can have types, allowing for modes to be exclusive of each other, ie: you can no longer have townclaim and townunclaim modes active at the same time.
    • Add new resident mode: bedspawn

      • This mode will make a player spawn at their bed instead of their town spawn.
      • Mode is added and removed using /res toggle bedspawn.
      • When no bed is owned by a player they will spawn at their town, if they have one.
      • Closes #7616.
    • Add the ability to block non-allies gaining benefits from Beacons placed in towns.

      • Requires Paper to work.
      • Closes #7532.
    • Add the ability to stop weapons and armour degrading in arena plots.

      • Closes #7549.
    • Add a message notifying a player when their nation has pending ally invites.

      • Closes #7588.
    • Add a message notifying a player of their pending town and nation invites.

      • Closes #7607.
    • Add messages to residents when they pay town and plot taxes.

      • Closes #7657.
    • Add the ability to charge additional upkeep per outpost controlled by a town.

      • Closes #7664.
    • Add experimental option to consider conquered towns as not allies.

    • Add compatibility layer for renamed Particle names.

    • Add support for VaultUnlocked as an Economy Provider.

    • Add support for Spigot 1.21.* and update Java to 21.

    • Move plotname and district information from /plot perm hud, to /towny map hud.

    • Add message to the plot forsale notification, shown when a player has no claimed townblocks, advising them how to claim a plot.

    • Add prompt to shown admins urging them to update their economy from legacy to modern. Requires the player to have the towny.admin.updatealerts permission node.

    • Add OfflinePlayer and UUID support to Economy backend, courtesy of Warrior with PR #7425.
      • Adds a "modern" economy implementation for Vault and Reserve back ends, while maintaining "legacy" implementations.
        • Already established servers will have their server set to legacy, while new installs will begin using the modern system right away.
      • The modern implementation makes use of Vault's OfflinePlayer methods, making Towny better suited to newer economy plugins that might not have fully implemented VaultAPI in their code.
      • Towny's Account class has been revamped with the Towny objects' UUIDs being used.
      • In cases where a server is using EssentialsX Economy, Towny will convert our non-player accounts' UUIDs into V2 UUIDs, allowing EssEco to know they do not belong to players.
    • Add safe-teleport detection to spawn points, courtesy of Intybyte with PR #7530. (First-Time Contributor!)
      • New detection system scans players' teleport destinations to make sure they will not suffocate or fall.
      • Closes #7463.

    ➕ Automatic Config Edits (0)

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

    • None

    ✨ Command Changes (6)
    ✨ New Commands (4)

    ✨ New Commands:

    • /res toggle bedspawn
      • Turns on and off the respawn-to-bed option.
    • /ta eco info [TownyObject] {name}
      • Used to see information about a resident, town, nation, or the Towny serveraccount's economy Account.
    • /ta eco convert modern
      • Will convert your Towny legacy accounts into modern accounts in your Economy plugin.
    • /ta eco convert {economyplugin}
      • Will convert your Towny economy accounts from your existing economy plugin, into the given economy plugin.

    ✨ Changed Commands (2)

    ✨ Changed Commands:

    • /ta depositall has changed to /ta eco depositall
    • /ta resetbanks has changed to /ta eco resetbanks

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (8)
    📕 New Config Options (8)

    📕 New Config Options:

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

    • global_town_settings.prevent_item_degrading_in_arenas

      • Default: false
      • While true, weapons and armour items worn by players in Arena plots will not lose durability.
    • global_town_settings.beacons_for_allies_only

      • Default: false
      • When true, a beacon placed in a town will only affect the allies of the town. This includes residents, nation residents and allied nation residents.
    • global_town_settings.beacons.exclude_conquered_towns

      • Default: false
      • When true, conquered towns are not considered allies.
    • global_nation_settings.are_conquered_towns_considered_allies

      • Default: true
      • While true, conquered towns will be considered a member of good standing in the nation.
      • When set to false CombatUtil#isAlly() tests will treat conquered towns and their nations as not allied.
      • Setting this to false could result in strange unforseen behaviour.
    • spawning.safe_teleport

      • Default: false
      • If enabled tries to find a safe location when teleporting to a town spawn/nation spawn/outpost. This can be used to prevent players from making kill boxes at those locations.
    • economy.advanced.modern

      • Default: true (on existing installs this will default to false)
      • When enabled, Towny will use UUIDs when communicating with your economy plugin.
      • Most users will never have to touch this, but for existing servers this option will automatically be set to false.
      • If this option is disabled and you wish to avoid losing data, use the /townyadmin eco convert modern command to convert.
    • economy.advanced.npc_uuid_version

      • Default: -1
      • The UUID version to use for non-player accounts. This is used so that economy plugins can more easily differentiate between player and NPC accounts.
      • The default is -1, which disables modifying npc uuids.
    • economy.daily_taxes.per_outpost_cost

      • Default: 0.0
      • An optional price that a town must pay for each outpost they own. This number is added to the town upkeep before any other upkeep modifiers are applied to the Town's upkeep costs.

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


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

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • towny.command.townyadmin.eco.*
      • A child node of towny.command.townyadmin.*
      • Child Nodes:
        • towny.command.townyadmin.eco.depositall
        • towny.command.townyadmin.eco.resetbanks
        • towny.command.townyadmin.eco.info
        • towny.command.townyadmin.eco.convert
    • towny.command.resident.set.mode.clear
    • towny.command.resident.toggle.bedspawn
    • towny.command.resident.toggle.bordertitles
    • towny.command.resident.toggle.ignoreotherchannels
    • towny.command.resident.toggle.infotool
    • towny.command.resident.toggle.plotgroup
    • towny.command.resident.toggle.townborder
    • towny.command.resident.toggle.townunclaim

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.


    💻 API Changes (1)

    💻 API:

    • Added ResidentModesInitializeEvent with which plugins can add Resident Modes.

    🔧 Fixed (29)

    🔧 Fixed:

    • Fix pets being abandoned in chunks that unload too fast after the player teleports away.

      • Closes #7593.
    • Fix deleting objects from the SQL DB which are keyed by a UUID.

      • Closes #7592.
    • Fix SERVER_ACCOUNT initializing after GLOBAL_OBSERVER

    • Prevent wind charge exploits on switch blocks.

      • Closes #7648.
    • Fix the proximity-to-nation test not removing too-far-away towns in every situation.

      • Closes #7668.
    • Fix WorldCoord#getBoundingBox missing two edges of the WorldCoord's blocks in the resulting BoundingBox.

    • Fix town_plotbased_upkeep_affected_by_town_level_modifier in the config not being respected for the nation_levels' nationTownUpkeepModifier.

    • Fix /plot group tab completion.

    • Refactor OnPlayerLogin task for readability.

    • Fix regression from 0.100.4.2 which caused empty .tar backups to be created.

    • Fix testing broken in 1.21 bump, update workflows to use java 21, add paper-api with test scope to make MockBukkit happy again.

    • Fix Audience not sending messages, tests will become broken again at this point.

    • Fix adventure relocation not excluding things from paper-api.

    • Adapt to Attributes change.

    • Fix regressions in health regen task on MC versions under 1.21.3.

    • Fix plot perm hud trying to show too many lines.

    • Fix another issue with the proximity-to-nation test.

    • Fix a null economy not returning false in the TownyEconomyHandler.isActive() test.

    • Fix explosion regeneration not able to handle sign text.

    • Fix teleports that have a TeleportCause of PLUGIN not firing a onPlayerMove() when the player is Jailed or Outlawed.

    • Fix default configs missing the nationCapitalBonusOutpostLimit in the nation_level.

    • Shutdown saving task when making an sql dump, courtesy of Warrior with PR #7591.
    • Fix safe spawn checking causing a sync chunk load, courtesy of Warrior with PR #7595.
    • Re-assign permissions for previous mayor after a new mayor is set, courtesy of Warrior with PR #7600.
    • Limit /plot trust remove suggestions to trusted residents, courtesy of Warrior with PR #7599.
    • Don't show warmup particles for hidden/invisible players, courtesy of Warrior with PR #7611.
    • Fix tab complete exception in sanctiontown, courtesy of Warrior with PR #7613.
    • Fix /deny all not working, courtesy of Warrior with PR #7626.
    • Fix error message shown when using /plot group toggle taxed, courtesy of Alienn-Know with PR #7598. (First-Time Contributor!)

    🌏 Language Updates (1)

    🌏 Language Updates:

    • New Language: Hungarian.

    🌏 Dependency Updates (12)

    🌏 Dependency Updates:

    • Bump org.apache.commons:commons-compress from 1.26.2 to 1.27.1.
    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.5.1.
    • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to 3.10.1.
    • Bump org.apache.logging.log4j:log4j-core from 2.23.1 to 2.24.0.
    • Bump org.bstats:bstats-bukkit from 3.0.2 to 3.1.0.
    • Bump org.junit.jupiter:junit-jupiter from 5.10.3 to 5.11.3.
    • Bump org.junit.jupiter:junit-jupiter-api from 5.10.3 to 5.11.3.
    • Bump com.zaxxer:HikariCP from 5.1.0 to 6.0.0.
    • Bump org.apache.logging.log4j:log4j-core from 2.24.0 to 2.24.1.
    • Bump org.jetbrains:annotations from 24.1.0 to 26.0.1.
    • Update spigot-api to 1.21.3.
    • Update bridger for java 21 support, courtesy of Warrior with PR #7658.

    👽 Placeholder Updates (1)

    👽 Placeholder Updates:

    • Change %townyadvanced_town_unformatted% to no longer remove underscores.

    💬 TownyChat Changes (2)

    💬 TownyChat Changes:

    • Add the ability to choose which EventPriority TownyChat uses to modify chat.
    • New ChatConfig.yml Option: modify_chat.listener_priority
      • Default: normal
      • The priority used for the AsyncPlayerChatEvent listener in TownyChat. This option will decide when TownyChat listens to the Chat event thrown by Bukkit-based servers.
      • Valid settings are: lowest, low, normal, high, highest
      • Lowest is the earliest listener, allowing TownyChat to act upon chat before Low, Normal, High, and Highest priority plugins.
      • Highest will cause TownyChat to change chat after other plugins operating on lower priorities.
      • If you don't know what any of this means leave it at normal.

    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 development as active as it is,
    and who supported me during this release of Towny.

    MrLoganoMomshroomCobrex1DrprofLuigiTheNyloxpebblehost
    NoikzGamingThePontificateAllieDragonGl0W1Eakup001EcoSMP
    Theeno74Rekar7guillermodiazkiernanskeijodputtNeumimTovette-daniel
    AncientSMHikitsune-RedDynamite99ItsSynchroEpicSpeedMrLogano
    CorruptedGreedProjectGuinnesstrevor1097MetaverseRPCorruptVDGabrielTK
    Polo-luluFolas1337gageeetPainOchoco Bloc-kxSTORMYxSHM
    Manul-NewtonPolo-luluediton96 Intrabit71gerardvanschip TheWordSmith123
    CasperTimmyMKieburtzExygleKermXgorbyhailMilesBHuff
    KeNickGongRandalABurdJrDarioMaviliaSk8nkillxCptSpiffyxAustinGoodrich
    FruitloopinsSW1D3RSK1MattWillenlukemangojshalbrookPoseidonGames
    Odin-The-All-FatherBeeeffSexy-JuraroflmarvTylorTurner MultipedBeatle
    DruidBrandon jsuarezlsde-wolfTriaieMatheny01Supersmurf82
    Semisol jb0sSaytenicGirlstheFernofrommars2ShiftSadArmonicPvP
    yurddimirochiNikkilectricflare2121ElTitiGG Luexa
    TylorTurnereat-your-gloryakieatsbobux CactusbanditWextra DarkGimlerCSV
    PolarisChrisKepZee CannonMan1605lashiam davider0simondumalski
    im-wharjeffthebass zekepari WaxenSsspikehidden HippieBeak
    BodhiSchulzTheYetiNetkanbursAtmoisTegulaThePig MetaverseRPN
    tomhmagic AtusHDZacharySeebeck2020Realm-Of-RhayarussogeijssenItzXPurpleX
    RpMGrutSpiderSlayer22TheStarFlareBraydenPB qbitixRyanDuder
    DunnoConz alevliarifPookachuColusite SkyBluumPRC03020
    SirBixHelios312Piopaw250168KinglandLiunhannon9KitsuneDev
    yourlolihuntercorrysamuSpellingwonderSwineFeather DonaldJTrumpOfficialcodingsvcks
    MrMirhanZommbieWasTaken CrashCringle12Pinebrickand 54 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders
  • Towny 0.101.0.0

    release27 ноября 2024 г.

    Towny Advanced 0.101.0.0

    Release contains:

    Towny 0.101.0.0 TownyChat 0.117

    Welcome to Towny 0.101.0.0.
    Towny 0.101.0.0 is the first release in the 0.101.*.* series!
    0.101.0.0 comes roughly a month late after Towny's 14th birthday!
    The 0.101.*.* version bump has come because significant enough changes and features have been made to Towny.
    Of note: Towny has a new Modern economy implementation. This was created by Warrior and has made Towny's town and nation banks compatible with more Vault1 plugins. You'll also spot that Towny has support for VaultUnlocked, which is Vault2. You will begin to see more and more plugins update to VaultUnlocked as time passes.
    Other middle-to-big updates over the course of the 0.100.*.* series included: Districts, Nation-Proximity overhaul, Resident Modes overhaul.
    This version supports any Minecraft version 0.19.* and newer! This version of Towny should be run using Java 21 or newer!
    This version contains critical 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 (17)

    ➕ Added:

    • Update Resident Modes system.

      • The modes system (townclaim, map, spy) code has been updated to more robust system than just a simple list.
      • Adds the ability to assign a permission node to a mode, and when present, will require the player to have the permission node to toggle a node.
      • This permission node is not required if the mode is part of a player's default modes set via the permission plugin.
      • Additionally, the ability to clear a residents modes via command now requires a permission node.
      • All together this makes it possible for admins to set modes that players cannot remove.
      • Modes can have types, allowing for modes to be exclusive of each other, ie: you can no longer have townclaim and townunclaim modes active at the same time.
    • Add new resident mode: bedspawn

      • This mode will make a player spawn at their bed instead of their town spawn.
      • Mode is added and removed using /res toggle bedspawn.
      • When no bed is owned by a player they will spawn at their town, if they have one.
      • Closes #7616.
    • Add the ability to block non-allies gaining benefits from Beacons placed in towns.

      • Requires Paper to work.
      • Closes #7532.
    • Add the ability to stop weapons and armour degrading in arena plots.

      • Closes #7549.
    • Add a message notifying a player when their nation has pending ally invites.

      • Closes #7588.
    • Add a message notifying a player of their pending town and nation invites.

      • Closes #7607.
    • Add messages to residents when they pay town and plot taxes.

      • Closes #7657.
    • Add the ability to charge additional upkeep per outpost controlled by a town.

      • Closes #7664.
    • Add experimental option to consider conquered towns as not allies.

    • Add compatibility layer for renamed Particle names.

    • Add support for VaultUnlocked as an Economy Provider.

    • Add support for Spigot 1.21.* and update Java to 21.

    • Move plotname and district information from /plot perm hud, to /towny map hud.

    • Add message to the plot forsale notification, shown when a player has no claimed townblocks, advising them how to claim a plot.

    • Add prompt to shown admins urging them to update their economy from legacy to modern. Requires the player to have the towny.admin.updatealerts permission node.

    • Add OfflinePlayer and UUID support to Economy backend, courtesy of Warrior with PR #7425.
      • Adds a "modern" economy implementation for Vault and Reserve back ends, while maintaining "legacy" implementations.
        • Already established servers will have their server set to legacy, while new installs will begin using the modern system right away.
      • The modern implementation makes use of Vault's OfflinePlayer methods, making Towny better suited to newer economy plugins that might not have fully implemented VaultAPI in their code.
      • Towny's Account class has been revamped with the Towny objects' UUIDs being used.
      • In cases where a server is using EssentialsX Economy, Towny will convert our non-player accounts' UUIDs into V2 UUIDs, allowing EssEco to know they do not belong to players.
    • Add safe-teleport detection to spawn points, courtesy of Intybyte with PR #7530. (First-Time Contributor!)
      • New detection system scans players' teleport destinations to make sure they will not suffocate or fall.
      • Closes #7463.

    ➕ Automatic Config Edits (0)

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

    • None

    ✨ Command Changes (6)
    ✨ New Commands (4)

    ✨ New Commands:

    • /res toggle bedspawn
      • Turns on and off the respawn-to-bed option.
    • /ta eco info [TownyObject] {name}
      • Used to see information about a resident, town, nation, or the Towny serveraccount's economy Account.
    • /ta eco convert modern
      • Will convert your Towny legacy accounts into modern accounts in your Economy plugin.
    • /ta eco convert {economyplugin}
      • Will convert your Towny economy accounts from your existing economy plugin, into the given economy plugin.

    ✨ Changed Commands (2)

    ✨ Changed Commands:

    • /ta depositall has changed to /ta eco depositall
    • /ta resetbanks has changed to /ta eco resetbanks

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (8)
    📕 New Config Options (8)

    📕 New Config Options:

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

    • global_town_settings.prevent_item_degrading_in_arenas

      • Default: false
      • While true, weapons and armour items worn by players in Arena plots will not lose durability.
    • global_town_settings.beacons_for_allies_only

      • Default: false
      • When true, a beacon placed in a town will only affect the allies of the town. This includes residents, nation residents and allied nation residents.
    • global_town_settings.beacons.exclude_conquered_towns

      • Default: false
      • When true, conquered towns are not considered allies.
    • global_nation_settings.are_conquered_towns_considered_allies

      • Default: true
      • While true, conquered towns will be considered a member of good standing in the nation.
      • When set to false CombatUtil#isAlly() tests will treat conquered towns and their nations as not allied.
      • Setting this to false could result in strange unforseen behaviour.
    • spawning.safe_teleport

      • Default: false
      • If enabled tries to find a safe location when teleporting to a town spawn/nation spawn/outpost. This can be used to prevent players from making kill boxes at those locations.
    • economy.advanced.modern

      • Default: true (on existing installs this will default to false)
      • When enabled, Towny will use UUIDs when communicating with your economy plugin.
      • Most users will never have to touch this, but for existing servers this option will automatically be set to false.
      • If this option is disabled and you wish to avoid losing data, use the /townyadmin eco convert modern command to convert.
    • economy.advanced.npc_uuid_version

      • Default: -1
      • The UUID version to use for non-player accounts. This is used so that economy plugins can more easily differentiate between player and NPC accounts.
      • The default is -1, which disables modifying npc uuids.
    • economy.daily_taxes.per_outpost_cost

      • Default: 0.0
      • An optional price that a town must pay for each outpost they own. This number is added to the town upkeep before any other upkeep modifiers are applied to the Town's upkeep costs.

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


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

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • towny.command.townyadmin.eco.*
      • A child node of towny.command.townyadmin.*
      • Child Nodes:
        • towny.command.townyadmin.eco.depositall
        • towny.command.townyadmin.eco.resetbanks
        • towny.command.townyadmin.eco.info
        • towny.command.townyadmin.eco.convert
    • towny.command.resident.set.mode.clear
    • towny.command.resident.toggle.bedspawn
    • towny.command.resident.toggle.bordertitles
    • towny.command.resident.toggle.ignoreotherchannels
    • towny.command.resident.toggle.infotool
    • towny.command.resident.toggle.plotgroup
    • towny.command.resident.toggle.townborder
    • towny.command.resident.toggle.townunclaim

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.


    💻 API Changes (1)

    💻 API:

    • Added ResidentModesInitializeEvent with which plugins can add Resident Modes.

    🔧 Fixed (29)

    🔧 Fixed:

    • Fix pets being abandoned in chunks that unload too fast after the player teleports away.

      • Closes #7593.
    • Fix deleting objects from the SQL DB which are keyed by a UUID.

      • Closes #7592.
    • Fix SERVER_ACCOUNT initializing after GLOBAL_OBSERVER

    • Prevent wind charge exploits on switch blocks.

      • Closes #7648.
    • Fix the proximity-to-nation test not removing too-far-away towns in every situation.

      • Closes #7668.
    • Fix WorldCoord#getBoundingBox missing two edges of the WorldCoord's blocks in the resulting BoundingBox.

    • Fix town_plotbased_upkeep_affected_by_town_level_modifier in the config not being respected for the nation_levels' nationTownUpkeepModifier.

    • Fix /plot group tab completion.

    • Refactor OnPlayerLogin task for readability.

    • Fix regression from 0.100.4.2 which caused empty .tar backups to be created.

    • Fix testing broken in 1.21 bump, update workflows to use java 21, add paper-api with test scope to make MockBukkit happy again.

    • Fix Audience not sending messages, tests will become broken again at this point.

    • Fix adventure relocation not excluding things from paper-api.

    • Adapt to Attributes change.

    • Fix regressions in health regen task on MC versions under 1.21.3.

    • Fix plot perm hud trying to show too many lines.

    • Fix another issue with the proximity-to-nation test.

    • Fix a null economy not returning false in the TownyEconomyHandler.isActive() test.

    • Fix explosion regeneration not able to handle sign text.

    • Fix teleports that have a TeleportCause of PLUGIN not firing a onPlayerMove() when the player is Jailed or Outlawed.

    • Fix default configs missing the nationCapitalBonusOutpostLimit in the nation_level.

    • Shutdown saving task when making an sql dump, courtesy of Warrior with PR #7591.
    • Fix safe spawn checking causing a sync chunk load, courtesy of Warrior with PR #7595.
    • Re-assign permissions for previous mayor after a new mayor is set, courtesy of Warrior with PR #7600.
    • Limit /plot trust remove suggestions to trusted residents, courtesy of Warrior with PR #7599.
    • Don't show warmup particles for hidden/invisible players, courtesy of Warrior with PR #7611.
    • Fix tab complete exception in sanctiontown, courtesy of Warrior with PR #7613.
    • Fix /deny all not working, courtesy of Warrior with PR #7626.
    • Fix error message shown when using /plot group toggle taxed, courtesy of Alienn-Know with PR #7598. (First-Time Contributor!)

    🌏 Language Updates (1)

    🌏 Language Updates:

    • New Language: Hungarian.

    🌏 Dependency Updates (12)

    🌏 Dependency Updates:

    • Bump org.apache.commons:commons-compress from 1.26.2 to 1.27.1.
    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.5.1.
    • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to 3.10.1.
    • Bump org.apache.logging.log4j:log4j-core from 2.23.1 to 2.24.0.
    • Bump org.bstats:bstats-bukkit from 3.0.2 to 3.1.0.
    • Bump org.junit.jupiter:junit-jupiter from 5.10.3 to 5.11.3.
    • Bump org.junit.jupiter:junit-jupiter-api from 5.10.3 to 5.11.3.
    • Bump com.zaxxer:HikariCP from 5.1.0 to 6.0.0.
    • Bump org.apache.logging.log4j:log4j-core from 2.24.0 to 2.24.1.
    • Bump org.jetbrains:annotations from 24.1.0 to 26.0.1.
    • Update spigot-api to 1.21.3.
    • Update bridger for java 21 support, courtesy of Warrior with PR #7658.

    👽 Placeholder Updates (1)

    👽 Placeholder Updates:

    • Change %townyadvanced_town_unformatted% to no longer remove underscores.

    💬 TownyChat Changes (2)

    💬 TownyChat Changes:

    • Add the ability to choose which EventPriority TownyChat uses to modify chat.
    • New ChatConfig.yml Option: modify_chat.listener_priority
      • Default: normal
      • The priority used for the AsyncPlayerChatEvent listener in TownyChat. This option will decide when TownyChat listens to the Chat event thrown by Bukkit-based servers.
      • Valid settings are: lowest, low, normal, high, highest
      • Lowest is the earliest listener, allowing TownyChat to act upon chat before Low, Normal, High, and Highest priority plugins.
      • Highest will cause TownyChat to change chat after other plugins operating on lower priorities.
      • If you don't know what any of this means leave it at normal.

    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 development as active as it is,
    and who supported me during this release of Towny.

    MrLoganoMomshroomCobrex1DrprofLuigiTheNyloxpebblehost
    NoikzGamingThePontificateAllieDragonGl0W1Eakup001EcoSMP
    Theeno74Rekar7guillermodiazkiernanskeijodputtNeumimTovette-daniel
    AncientSMHikitsune-RedDynamite99ItsSynchroEpicSpeedMrLogano
    CorruptedGreedProjectGuinnesstrevor1097MetaverseRPCorruptVDGabrielTK
    Polo-luluFolas1337gageeetPainOchoco Bloc-kxSTORMYxSHM
    Manul-NewtonPolo-luluediton96 Intrabit71gerardvanschip TheWordSmith123
    CasperTimmyMKieburtzExygleKermXgorbyhailMilesBHuff
    KeNickGongRandalABurdJrDarioMaviliaSk8nkillxCptSpiffyxAustinGoodrich
    FruitloopinsSW1D3RSK1MattWillenlukemangojshalbrookPoseidonGames
    Odin-The-All-FatherBeeeffSexy-JuraroflmarvTylorTurner MultipedBeatle
    DruidBrandon jsuarezlsde-wolfTriaieMatheny01Supersmurf82
    Semisol jb0sSaytenicGirlstheFernofrommars2ShiftSadArmonicPvP
    yurddimirochiNikkilectricflare2121ElTitiGG Luexa
    TylorTurnereat-your-gloryakieatsbobux CactusbanditWextra DarkGimlerCSV
    PolarisChrisKepZee CannonMan1605lashiam davider0simondumalski
    im-wharjeffthebass zekepari WaxenSsspikehidden HippieBeak
    BodhiSchulzTheYetiNetkanbursAtmoisTegulaThePig MetaverseRPN
    tomhmagic AtusHDZacharySeebeck2020Realm-Of-RhayarussogeijssenItzXPurpleX
    RpMGrutSpiderSlayer22TheStarFlareBraydenPB qbitixRyanDuder
    DunnoConz alevliarifPookachuColusite SkyBluumPRC03020
    SirBixHelios312Piopaw250168KinglandLiunhannon9KitsuneDev
    yourlolihuntercorrysamuSpellingwonderSwineFeather DonaldJTrumpOfficialcodingsvcks
    MrMirhanZommbieWasTaken CrashCringle12Pinebrickand 54 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders
  • Towny 0.100.4.0

    release13 ноября 2024 г.

    Towny Advanced 0.100.4.0

    Release contains:

    Towny 0.100.4.0 TownyChat 0.116

    Welcome to Towny 0.100.4.0.
    Towny 0.100.4.0 is the fifth release in the 0.100.*.* series!
    0.100.4.0 Adds support for Minecraft 1.21.* and removes support for Minecraft older than 1.19.*!
    If you are running Minecraft 1.16, 1.17 and 1.18, you will not be able to upgrade your Towny to this version!
    This version contains critical 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 (16)

    ➕ Added:

    • Add Districts to Towns and TownBlocks.

      • Districts are groupings of townblocks, owned by a town.
      • These are similar to PlotGroups but with less restrictions:
        • Districts' townblocks are not required to have the same plot permissions, plot type, owner, or name.
      • Districts currently show in the chunk notifications, map hud, and in the /towny map hover.
      • Districts will lead to future features being possible including districts appearing on Mappers.
      • Townblocks in districts are required to be adjacent to each other.
      • Closes #7479.
    • Account and Transaction changes.

      • A non-insignificant change was been made under the hood which could affect plugins using Towny's various Transaction Events.
      • The end result is that classes have been re-located to a new com.palmergames.bukkit.towny.object.economy.transaction pacakge.
      • This has resulted in a more robust system:
        • Transactions are better able to represent when money moves between your server's Towny objects.
        • Transaction events are now thrown much more often, allowing plugins to track transactions more accurately.
        • Accounts now backed by an EconomyHandler (think Resident, Town, Nation,) instead of a name, which should ease the transition to using UUIDs.
        • The TownyServerAccount is now a proper EconomyHandler, reducing jank in the code that is used in the Closed Economy feature.
      • If a plugin you use has broken, the author needs only change their imports section, switching to the re-located Transaction, TransactionType classes.
    • Added the ability to give Nation Capitals an additional bonus number of outposts.

      • Requires that your config has limit_outposts_using_town_and_nation_levels set to true.
      • In the nation_level sections of your config a new setting will be added: nationCapitalBonusOutpostLimit.
      • The amount set there will be added to a nation capital (in addition to the already applied nationBonusOutpostLimit amount.)
      • Closes #7447.
    • Add conquered and unconquered sections to the townyperms.yml.

      • Using these sections you can give permission nodes to the players of towns which are either conquered or unconquered.
      • Closes #7536.
    • Add ability to prevent conquered towns from using their nation's nation zones.

      • Conquered towns can still use their own nationzone outside of their town.
      • Closes #7507.
    • Add option to make mayors pay their own town's tax, which could prevent towns from dying to upkeep.

      • Closes #7482.
    • Add the ability to limit the number of capital letters used in Town and Nation names.

      • Closes 7497.
    • Added the ability to prevent players joining towns until they have been on the server for a configured time.

      • Closes #7516.
    • Add the ability to deny conquered towns from using /n spawn.

      • Closes #7522.
    • Add the ability to prevent the nation zone surrounding a conquered town being used by the nation who conquered the town.

      • Closes #7518.
    • Drop support for MC 1.16-1.18, update the readme.

    • Add ignoreotherchannels to /res toggle and /res set mode tabcompleters.

    • Add plot group creation/deletion events #7476, courtesy of Warrior with PR.
      • Closes #7475.
    • Expose cost in successful teleport event, courtesy of Warrior with PR #7487.
      • Closes #7486.
    • Raise java version to 17, courtesy of Warrior with PR #7401.
    • Support custom biomes with the unwanted biomes feature, courtesy of Warrior with PR #7540.

    ➕ Automatic Config Edits (1)

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

    • nationCapitalBonusOutpostLimit will be added to each nation_level section with a value of 0.

    ✨ Command Changes (4)
    ✨ New Commands (2)

    ✨ New Commands:

    • /plot district

      • Subcommands:
        • create|new [name]: creates a new district with the given name.
        • add {name}: adds a townblock to the given district, if you are actively adding to a distric you do not need to continue supplying the name.
        • rename [name]: changes the name of a district.
        • remove: removes the townblock you are stood in from a district.
        • delete: deletes the district in which you are stood.
    • /ta resident NAME about clear

      • Used by an admin to remove a Resident's About line.

    ✨ Changed Commands (2)

    ✨ Changed Commands:

    • /res set mode clear - Removes all of your modes (ie: townclaim, map)
    • /res set mode reset - Same behaviour as before, it will remove your nodes and then apply the default modes for your player.

    ❌ Removed Commands (0)

    ❌ Removed Commands:

    • None.


    📕 Config Changes (6)
    📕 New Config Options (6)

    📕 New Config Options:

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

    • economy.daily_taxes.do_mayors_pay_town_tax
      • Default: false
      • When true, a town's mayor will pay the town tax. This feature is a bit redundant because the mayor can withdraw from the bank anyways, but it might keep towns from being deleted for not paying their upkeep.
    • filters_colour_chat.modify_chat.max_name_capital_letters
      • Default: -1
      • Maximum number of capital letters that can be used in Town and Nation names.
      • This count does not include the first letter of a town, and does not count capitalized letters that come after a _ character.
      • This means that a town named New_York would register 0 capitals. While McDonalds would register 1. COOLTOWN would register 7 capital letters.
    • global_nation_settings.nationzone.not_for_conquered_towns
      • Default: false
      • When set to true, players which are part of a conquered town, will not have access to their nation's nationzone.
      • They will still be able to use the nation_zone outside of their own town.
    • global_nation_settings.nationzone.protect_conquered_towns
      • Default: false
      • When set to true, the nation zone of a conquered town will only be usable by the conquered town's players.
      • The players belonging to the conquering nation will not be able to use the nation zone.
    • resident_settings.min_time_to_join_town
      • Default: 0m
      • How long does a resident have to wait to join a town, after joining the server.
      • Set to 0m to disable. 1m = 1 minute, 1h = 1 hour, 1d = 1 day.
    • spawning.nation_spawn.deny_conquered_towns_use_of_nation_spawn
      • Default: false
      • When set to true, towns conquered by their nation will not be allowed to use /n spawn.

    ❌ Removed Config Options (0)

    ❌ Removed Config Options:

    • None.


    🔑 Permission Node Changes (0)
    🔑 New Permission Nodes (1)

    🔑 New Permission Nodes:

    No change required in townyperms.yml.

    • New Permission Node: towny.command.plot.district.*
      • Child node of towny.command.plot.*
      • Child Nodes:
        • towny.command.plot.district.add: true
        • towny.command.plot.district.remove: true
        • towny.command.plot.district.delete: true
        • towny.command.plot.district.rename: true

    ❌ Removed Permission Nodes (0)

    ❌ Removed Permission Nodes:

    • None.

    ----
    💻 API Changes (7)

    💻 API:

    • Add more information to the ResidentJailEvent and ResidentUnjailEvent.
    • Add MaterialUtil, which includes a method to grab Materials with an item from Materials with no corresponding item.

    🔧 Fixed (31)

    🔧 Fixed:

    • Fix new outlaws not being teleported out of the town they were outlawed in.
    • Fix regex settings not refreshing when using /ta reload {config}.
    • Fix PlotGroups not being able to support max and min joindays amounts like TownBlocks.
    • Fix WildernessMapEvent being able to be thrown async.
    • Fix town plot permissions changing not causing the town to save.
    • Improve /ta town new TOWNNAME MAYORNAME, to support town names entered with spaces in them.
    • Fix milking animals sometimes being able to get cancelled by the PlayerBucketFillEvent.
    • Fix TownBlocks which load replacement town names save the new town name in the database.
    • Make more explosive entities throw TownyExplosionDamagesEntityEvent events when they explode and damage entities.
    • Fix for SQL db code related to new Districts.
    • Fix potential NPE thrown when nations are deleted and the nation bank is meant to be paid to the king.
    • Prevent potential NPE caused by EntityDamageEvents with no DamageCause.
    • Fix loading of Districts on servers using MySQL.
    • Fix regression from 0.100.3.5 that made Creepers ineffective.
    • Fix possible ConcurrentModificationException when using /ta plot claim {residentname}
    • Fix potential NPE thrown by PlayerMoveEvent and PlayerTeleportEvents with a null destination location.
    • Fix potential NPE thrown in outpost name tab completer, caused by outposts in non-existent worlds.
    • Fix SQL Databases loading towns, nations, and worlds which had not been properly registered in the TownyUniverse.
    • Fix /ta newday not working.
    • Fix untranslated lang key from unwanted biome claiming, courtesy of Warrior with PR #7538.
      • Closes #7537.
    • Fix NPE when player without town tab completes /t outpost, courtesy of Warrior with PR #7581.
      • Closes #7580.
    • Fix a bad scheduler call in take over claim code, courtesy of Warrior with PR #7466.
    • Fix plot border modes on Folia, courtesy of Warrior with PR #7467.
    • Handle empty towns during duplicate resident removal, courtesy of Warrior with PR #7474.
    • Always fire loaded metadata event, courtesy of Warrior with PR #7531.
    • Remove newday timer option, courtesy of Warrior with PR #7509.
    • Fix worldcoord upper corners being in another worldcoord, courtesy of Warrior with PR #7539.
    • Don't attempt to display non-items in guis, courtesy of Warrior with PR #7576.
    • Fix WorldCoord#unloadChunks adding plugin chunk tickets, courtesy of galacticwarrior9 with PR #7478.
    • Fix potential NPEs in PlotGroup, courtesy of galacticwarrior9 with PR #7483.
    • Fix config typo, courtesy of auriasmc with PR #7498. (First-Time Contributor!)

    🌏 Language Updates (0)

    🌏 Language Updates:

    • None.

    🌏 Dependency Updates (6)

    🌏 Dependency Updates:

    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.1.
    • Bump org.junit.jupiter:junit-jupiter from 5.10.2 to 5.10.3.
    • Bump org.junit.jupiter:junit-jupiter-api from 5.10.2 to 5.10.3.
    • Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2.
    • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0.
    • Bump net.kyori:adventure-platform-bukkit from 4.3.3 to 4.3.4.

    👽 Placeholder Updates (0)

    👽 Placeholder Updates:

    • None.

    💬 TownyChat Changes (0)

    💬 TownyChat Changes:

    • Bump min Towny version to 0.100.3.0.
    • Handle the rare occasion that we aren't able to alter the recipients.
    • Add new setting to channels: ignoreable.
      • This settings defaults to true when it is not set on a channel in your channels.yml.
      • New channels.yml files will have their admin and mod channels containing ignoreable: false.
      • When a channel has ignoreable: false, players will not be able to ignore the channel.
      • Ignoring channels is achieved by using /res toggle ignoreotherchannels. When this mode is used you will only see the channel you are present in.
      • ie: if you are in town chat, with ignoreotherchannels active, you will not see the general, nation or local chats.
      • Closes https://github.com/TownyAdvanced/Towny/issues/6441.

    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.

    MrLoganoMomshroomCobrex1DrprofLuigiSmallSansSerifTheNylox
    pebblehostNoikzGamingThePontificateAllieDragonGl0W1Eakup001
    EcoSMPTheeno74Rekar7guillermodiazkiernanskeijodputtNeumimTo
    vette-danielAncientSMHikitsune-RedDynamite99ItsSynchroEpicSpeed
    MrLoganoCorruptedGreedProjectGuinnesstrevor1097MetaverseRPCorruptVD
    GabrielTKPolo-luluFolas1337gageeetPainOchoco Bloc-k
    xSTORMYxSHMManul-NewtonPolo-luluediton96 Intrabit71gerardvanschip
    TheWordSmith123CasperTimmyMKieburtzExygleKermXgorbyhail
    Rimuru-Tempest-IMPAlink-MartyMilesBHuffKeNickGongRandalABurdJrDarioMavilia
    Sk8nkillxCptSpiffyxAustinGoodrichFruitloopinstomhmagicSW1D3RSK1
    RandaeMCSecondEarthOnlineMattWillenlukemangojshalbrookCraig1020
    PoseidonGamesOdin-The-All-FatherBeeeffSexy-JuraroflmarvTylorTurner
    MultipedBeatleqiqiMaiDruidBrandon jsuarezlsde-wolfTriaie
    Matheny01ItzXPurpleXbeabuenodevSupersmurf82Semisol jb0s
    GranpaGamerMCSaytenicGirlstheFernofrommars2ShiftSadArmonicPvPMerlin6019
    Waspyethan yurddimirochiNikkilectricflare2121ElTitiGG
    LuexaTylorTurnerLemar98sFiravSirBix LittleDuck363
    eat-your-gloryakieatsbobux mooncutie1AlmightyCorbs CactusbanditLavaHoleD
    Wextra DarkGimlerCSV1456o9James-P-Bennett PolarisChrisWolfenGamerr
    KepZee CannonMan1605lashiam josegoust davider0simondumalski
    im-wharnhannon9 savdbroek jeffthebass Kalqbzekepari
    WaxenSsxXPLFOXPLXxJAB1305 Malikplays spikehidden HippieBeak
    CptZee BodhiSchulzTheYetiNetkanburstlm9201Atmois
    Gustab1KyoukoKitsuneand 51 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 Perks!

    Important Links
    Frequently Asked
    Questions
    How Towny WorksTowny Install GuideTowny Update Guide
    Other Towny Plugins Complete Changelog Default Config FilesCommands/Permissions
    Placeholders

Совместимость

Minecraft: Java Edition

Сведения

Лицензия:CC BY NC ND 3.0
Опубликован:1 год назад
Обновлён:1 месяц назад
ID проекта:
Главная