Skip to content

@LlmDl LlmDl released this Dec 3, 2019 · 253 commits to master since this release

Towny Advanced

Release contains:

  • Towny
  • TownyChat 0.63
  • TownyNameUpdater 4.0


    • If you had town.max_purchased_blocks: 0 in your config:
      • In your town_level section you must add: 'townBlockBuyBonusLimit: 0' to each level.
    • If you did not have town.max_purchased_blocks: 0 in your config:
      • In your town_level section you must add: 'townBlockBuyBonusLimit: #' to each level.
      • # being what you had your town.max_purchased_blocks set to.
    • Failure to do so will cause your Towny to not enable.
    • If your town_level is set to default settings you can just delete the entire town_level section and Towny will re-make it with the new options.
  • REQUIRED CONFIG.YML CHANGE: protection.switch_ids
    • Add ",BREWING_STAND" to the end of the switch id list.
    • Due to spelling corrections, two nodes may need to be fixed (Add what's in [brackets]) (if your existing settings are true you can ignore this one.):
      • economy.banks.town_allow_withdraw[a]ls
        • default: true
      • economy.banks.nation_allow_withdraw[a]ls
        • default: true
      • #FlagIsAnAss - love, TheFlagCourier
    • add towny.command.towny.war.hud to your nomad rank.
    • add towny.command.nation.leave to the mayor group.


  • Make the start of the War Event smarter.

    • Townblocks in worlds which are not warallowed will no longer be included.
    • Towns with no homeblock will no longer be included.
    • Towns which have their homeblock in a world which is not warallowed will no longer be included.
    • Nations which do not have any qualifying towns will not be included.
    • Nations which do not have their capital city involved will not be included.
    • War will not start if there is less than 2 nations participating.
    • War requires at least one enemy-enemy relationship between nations to start.
  • Added placeholders:

    • %townyadvanced_daily_town_upkeep% - Shows town's upkeep cost.
    • %townyadvanced_daily_nation_upkeep% - Shows nation's upkeep cost.
    • %townyadvanced_has_town% - returns true or false whether the resident has a town.
    • %townyadvanced_has_nation% - returns true or false whether the resident has a nation.
    • Closes ticket #3496 & #3497
  • New Feature:

    • The ability to set maximum purchased blocks (/town buy bonus #) per Town_Level.
    • This means a higher population town will be able to buy more extra blocks.
    • Requires the town.max_purchased_blocks_uses_town_levels setting to be true.
    • By default new configs will generate with townBlockBuyBonusLimits set to 0 for all Town_Levels, making the feature off by default.
    • Closes ticket #3483.
  • New Feature: when your server is running not-craftbukkit (spigot, paper etc) the plot notifications will appear in the Action Bar line.

  • New Feature: nation zones show notifications when you enter into them.

  • New Feature: Cooldown timers for toggling PVP and using res/town spawn commands.

  • Add server_type to bstats metrics, will show us what % uses Craftbukkit, Spigot & Paper.

  • Add nation_zones_enabled & database_type to bstats.

  • Add helpful messages shown when town & nation levels fail to load on startup.

  • Invites system revamped by Emperor-Koala, allowing better expandibility for other plugins' use.

Flag War Changes:

  • Flag War: Added safeguards to prevent defenders from playing dirty - see next three config options.
    • New Config Option: war.enemy.prevent_interaction_while_flagged
      • Default: true
      • Prevents players in towns from withdrawing from the bank, leaving the town/nation, and unclaiming land while an enemy war flag is in play.
    • New Config Option: war.enemy.prevent_nation_interaction_while_flagged
      • Default: true
      • Same as above, applies to national level and extends to all towns in a nation.
    • New Config Option: war.enemy.time_to_wait_after_flagged
      • Default: 600000 (ms)
      • Time after a flag has expired or been defended until players can perform special interactions.
  • New FlagWar Feature: Disable capture of a defender's townblocks.
    • Add boolean config node 'war.enemy.flag_takes_ownership_of_townblocks'; If false, defenders will keep their claims
    • This is similar effect to Event War's 'winner_takes_ownership_of_townblocks', but does not mess with bonus plots.
    • Adds the 'msg_war_defender_keeps_claims' language string to notify the towns that capturing the townblock is disabled.
    • Closes ticket #3514
  • Added description for war.enemy.flag.waiting_time to prevent (some) further confusion.

New Command:

  • /tw toggle warallowed
    • toggles whether Event War affects the world.

New Config Options:

  • new_world_settings.pvp.war_allowed
    • Default: true
    • If set to false the world will not be included in war events.
    • Note that like all other new_world_settings this is only the default setting applied to newly added worlds.
      • The actual value is stored per-world.
    • Closes ticket #1188
  • global_nation_settings.nationzone.show_notifications
    • Default: false
    • When set to true, players will receive a notification when they enter into a nationzone.
    • Set to false by default because, like the nationzone feature, it will generate more load on servers.
  • global_town_settings.spawn_cooldown_time
    • default '30'
    • Number of seconds that must pass before a player can use /n spawn, /t spawn or /res spawn.
  • global_town_settings.pvp_cooldown_time
    • default '30'
    • Number of seconds that must pass before pvp can be toggled by a town using /t toggle pvp.
    • Also applies to residents of the town using /res toggle pvp, as well as plots having their PVP toggled using /plot toggle pvp.
    • /ta town {town} toggle pvp bypasses cooldowntimer.
  • town.max_purchased_blocks_uses_town_levels
    • Default: true
    • When set to true, the town_level section of the config determines the maximum number of bonus blocks a town can purchase.


  • API: New War Events added:
    • EventWarPreStartEvent - used to manipulate the war spoils amount.
    • EventWarStartEvent - used to get a list of towns, nations participating in the war, as well as the final initial amount of war spoils.
    • EventWarEndEvent - used to get a list of surviving towns & nations, the town with the highest score, as well as the townWinnings and nationWinnings.
    • Closes ticket #3087.
  • API: New cancellable pre-rename events:
    • TownPreRenameEvent.
    • NationPreRenameEvent.
    • Closes ticket #3121.
  • Changed from using the Bukkit API to the Spigot API.
  • Added SpawnUtil with PR #3505.
  • API: New events courtesy of Siris with PR #3510
    • TownyTransactionEvent: Monitor all economy transactions.
    • TownyPreTransactionEvent : Cancellable event on all economy transactions.
    • NationTransactionEvent: Monitor all nation deposits/withdrawls.
    • NationPreTransactionEvent: Cancellable event on all nation deposits/withdrawls.
    • TownTransactionEvent: Monitor all town deposits/withdrawls.
    • TownPreTransactionEvent: Cancellable event on all town deposits/withdrawls.
    • PlotPreClearEvent: Cancellable event used to stop clearing of a plot.
    • PreDeleteTownEvent: Cancellable event used to stop a town from being deleted.
    • PreDeleteNationEvent: Cancellable event used to stop a nation from being deleted.
    • Closes ticket #3322
  • API: TownPreAddResidentEvent & NationPreAddTownEvent, courtesy of Siris with PR #3507
    • Can be used by other plugins to cancel residents/towns from joining towns/nations.
    • Works for /t join and /n join as well as /t add and /n add commands.


  • Fixed building with maven and some people having errors re: javadocs, courtesy of TheFlagCourier with PR #3521.
  • Made /ta ? require the towny.admin permission node.
  • Fix cosmetics of setting a plot not for sale appearing to display as an error.
  • Using /res spawn will now charge the town's spawn cost instead of the config's.
    • This could mean a slight price-break.
  • Fix sending nomad outlaws to jail when killed.
  • Fix lack of feedback when adding a nation enemy that doesn't exist.
  • Made it so that towns cannot unclaim their homeblocks, they must move them to another townblock first.
    • /t unclaim all still allows a town to fully-unclaim, but the first townblock they claim will become the homeblock.
  • Fixed an NPE on the townscreen for towns which have no homeblock.
  • Improvement to switch handling tile entites, courtesy of Silverwolfg11.
  • Fix flagwar NPE seen when Towny failed to enable.
  • Fix savingtask NPE seen when Towny failed to enable.
  • Fix server_type never returning Spigot.
  • Fix bstats nation_zones_enabled always returning false.
  • Fixed Flag War - Courtesy of the CivWars team [Emperor-Koala, FlagCourier]


  • Language files bumped to 0.66.
  • korean.yml updated by wolfwork with PR #3513
  • chinese.yml updated to 0.66 by qsefthuopq

TownyChat Changes:

  • Change: spam_time has been moved from the chatconfig.yml, to the channels.yml
    • You do not have to set a spam_time for each channel, only the ones you want limited.
    • setting spam_time: '0.5' in your general channel will make the global channel behave as normal.
    • default channels.yml has spam_time: '0.5' set for general, town, nation and alliance channels; remaining channels have no spam_time set.
    • in your chatconfig.yml you can remove the "spam_time: '0.5'" line before or after updating.
  • New Permission Node: townychat.spam.bypass
    • Defaults to ops.
    • Bypasses spam check.

If you want to support the developer consider becoming a sponsor

Click Here for a full changelog

Towny Install Guide
Towny Permission Nodes
How Towny Works

Assets 3
You can’t perform that action at this time.