Skip to content

0.98.6.0 for MC 1.16.* & 1.17.* & 1.18.* & 1.19.*

Compare
Choose a tag to compare
@LlmDl LlmDl released this 11 Jan 23:48
· 1462 commits to master since this release

Towny Advanced 0.98.6.0

Release contains:

Towny 0.98.6.0
TownyChat 0.101

Welcome to Towny 0.98.6.0.
Towny 0.98.6.0 is the seventh release in the 0.98.*.* series!
This is primarily a hotfix release that patches an issue present in 0.98.5.0, update your server ASAP!
0.98.6.0 supports all versions of Minecraft 1.16 and newer.
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.
0.98.6.0-specific changes.

The Following changes were made since 0.98.5.0, the remainder of the changelog is from 0.98.5.0.

  • Make StatusScreen colouring methods public in TownyFormatter.
  • Add allowedToWar Town setting.
    • Defaults to true, but set in the config.
    • Makes it possible for war plugins to know they should not allow certain towns to take part in wars, and for admins/other plugins to opt towns out of wars.
  • New Config Option: town.default_allowed_to_war
    • Default: true
    • Default status of new towns, (are they allowed to have a war/battle?)
    • This setting is not used internally by Towny. It is available for war/battle plugins to use.
    • Setting this false should mean your town cannot be involved in a war supplied by another plugin.
  • New Command: /ta town TOWNNAME toggle allowedtowar [on|off]
    • Toggles a town's allowedtowar setting on/off.
  • Update TownClaim task.
    • Changes it from using Thread to Runnable, add clearer comments, make code more readable.
    • Fix refunds for /t unclaim all, probably fixes a unclaim refund exploit.
  • Fix paintings and item frames being unbreakable, courtesy of Stealth2800 with PR #6427.
➕ Added (30)

➕ Added:

  • Make it possible to use /t deposit [amount] {townname}.

    • Doing so will allow a player to deposit money into any town bank.
    • This feature will require an admin to give the node to their players in the townyperms.yml, it is disabled by default.
    • Closes #6346.
  • Allow the TownyMap system to properly parse Unicode characters U10000 and greater.

    • Anyone using unicode characters for the TownBlockType map symbols should already be using the \u#### format in the config.
    • The value you use should be the HTML-code variable of the Unicode you want to use.
    • You can now begin using \u10000 and larger.
  • Add /res toggle adminbypass.

    • Bypasses the permissions tests that make ops/players with towny.admin able to act as admins.
    • Useful for staff that want to play like normal players.
    • Closes #3939.
  • Improve vanished-wont-affect-resident-last-online support, from using only Essentials, to supporting all plugins that use the "vanished" metadata on the player.

    • Also prevents setting last-online when a player logs out.
    • Plugins which work: SuperVanish, Essentials.
    • Plugins which still do not work: VanishNoPacket.
  • Add Founder to town.

    • Stores only the name of the original mayor, which means name changes aren't factored in, but that's too much work.
    • If founderName is null it will pull the existing mayor's name.
    • Founder is displayed in the town status screen next to Founded: 'Date'.
    • Closes #6306.
  • Add more comments to the Config's new world section, making it even clearer how to adjust world settings.

  • Add the ability to toggle a world's delete-entities-on-unclaim feature.

  • Add ability to disallow commands being run by players that have an active war.

  • Make /town plots output translatable.

  • Add warning on startup about PowerRanks.

  • Add support MC 1.19.3.

  • Support for y less than 0 for revert-on-unclaim.

  • Add DRAGON_EGG,CRYING_OBSIDIAN to revert-on-unclaim block ignore.

  • Improve tab completion for /n rank.

  • Add PluginIntegrations class.

  • Load chunk async for protection regen task, courtesy of Warriorrrr with PR #6385.
    • Requires you to be using Paper to take advantage.
    • Closes #6337.
  • Make bossbar chunk notifications configurable, courtesy of Warriorrrr with PR #6384.
  • Add min distance options for new towns, courtesy of Warriorrrr with PR #6398.
  • Minor regen api refactor, courtesy of Warriorrrr with PR #6271.
  • Remove townyadmin's getSender(), courtesy of Warriorrrr with PR #6321.
  • Use method handles in townyperms, courtesy of Warriorrrr with PR #6332.
  • Make ascii map symbol options reloadable, courtesy of Warriorrrr with PR #6333.
  • Add javadocs & annotations for bed explode event, courtesy of Warriorrrr with PR #6359.
  • Expose unformatted time in BankTransaction, courtesy of Warriorrrr with PR #6372.
  • Lookup towny worlds via uuid, courtesy of Warriorrrr with PR #6375.
  • Use bukkit warning annotation for our deprecated events, courtesy of Warriorrrr with PR #6396.
  • Use the new PaperLib#getHolder methods, courtesy of Warriorrrr with PR #6413.
  • Reformat Contributing.md, courtesy of GNosii with PR #6254.
  • Improve javadocs with tags, courtesy of GNosii with PR #6304.
  • Delete unused es-419, courtesy of GNosii with PR #6351.
  • New TrustedTowns feature, courtesy of Kali0033 with PR #6276.
    • It is now possible for a town to add another town as trusted.
    • This means that anyone in the 2nd town can do any build/destroy/switch/itemuse as if they were a mayor in the first town.
    • Obviously this should only be given out under very limited circumstances, anyone added to the 2nd town after trust is given will also have full plot perm rights in the first town.
    • There is a confirmation warning the player that uses the /t trusttown add command.

➕ Automatic Config Edits (1)

➕ Towny will automatically edit the following settings in your config and existing worlds

  • Add DRAGON_EGG,CRYING_OBSIDIAN to revert-on-unclaim block ignore.
    • Will automatically update each world as well.

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

✨ New Commands:

  • /res toggle adminbypass - Used to make admins play as non-admins.

  • /t trusttown

    • Requires towny.command.town.trusttown permission node.
    • Subcommands:
      • add [townname]
      • remove [townname]
      • list
  • /t deposit {amount} {townname}

  • /tw toggle unclaimentitydelete {on|off}

    • Toggles a world's unclaiming-deletes-entities feature off and on.
  • /ta [townname] trusttown

    • Requires towny.command.townyadmin.town.trusttown permission node.
    • Subcommands:
      • add townname
      • remove townname
      • list
  • /ta set founder [townname] [foundername]

    • Used by admins to set a founder for a town.
    • Requires towny.command.townyadmin.set.founder.

✨ Changed Commands (0)

✨ Changed Commands:

  • None.

❌ Removed Commands (0)

❌ Removed Commands:

  • None.


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

📕 New Config Options:

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

  • protection.are_mob_types_protected_against_mobs
    • Default: true
    • Setting this to false will allow non-player entities to harm the above protected mobs.
    • This would include withers damaging protected mobs, and can be quite harmful.
    • Closes #6299.
  • global_town_settings.war_blacklisted_commands
    • Default: somecommandhere,othercommandhere
    • Commands that cannot be run by players who have an active war.
  • global_town_settings.outsiders_prevent_unclaim_townblock
    • Default: false
    • If set to true, Towny will prevent a townblock from being unclaimed while an outsider is within the townblock's boundaries.
    • When active this feature can cause a bit of lag when the /t unclaim command is used, depending on how many players are online.
  • global_town_settings.town_delete_cooldown_time
    • default: "0"
    • Number of seconds that must pass before a player that has deleted their town can create a new one.
  • global_town_settings.town_unclaim_cooldown_time
    • default: "0"
    • Number of seconds that must pass before a town that has unclaimed a townblock can claim it again.
  • notification.bossbars.color
    • Default: "white"
    • The color to use for bossbar notifications.
    • Valid colors are blue, green, pink, purple, red, white, or yellow.
  • notification.bossbars.overlay
    • Default: "progress"
    • The overlay to use for bossbar notifications.
    • Valid options are progress, notched_6, notched_10, notched_12, notched_20
  • notification.bossbars.progress
    • Default: "0"
    • The progress to use for the bossbar, between 0 and 1.

❌ Removed Config Options (1)

❌ Removed Config Options:

  • using_essentials


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

🔑 New Permission Nodes:

No change required in townyperms.yml.

  • towny.command.town.deposit.othertown

    • Not a child node of towny.command.town.deposit.
    • Must be given manually for servers that want to enable players to deposit into towns they are not a part of.
  • towny.command.townyworld.toggle.unclaimentitydelete

    • Child node of towny.command.townyworld.toggle.*.
    • No changes required to your townyperms.yml.
  • towny.nation.{nationname}

    • Players in a nation will be given this node, for use with other plugins.
    • ex: A player in the nation of Canada will receive towny.nation.canada.
  • towny.nationless

    • Given out to all players who have no nation.
  • towny.town.spawn.nation.bypass_public:

    • description: User is permitted to use /town spawn when:
      • they are a member of the same nation and,
      • the town isn't public and,
      • is_nation_ally_spawning_requiring_public_status is true.
    • default: false, and not a child node of towny.town.spawn.*
  • towny.town.spawn.ally.bypass_public:

    • description: User is permitted to use /town spawn when:
      • they are a member of an allied nation and,
      • the town isn't public and,
      • is_nation_ally_spawning_requiring_public_status is true.
    • default: false, and not a child node of towny.town.spawn.*
  • Give either of these nodes to allow a king or otherwise special nation member to still travel to an allied town when other nation members/allies are stopped, because the town is not public, and the config requires public status.


❌ Removed Permission Nodes (0)

❌ Removed Permission Nodes:

  • None.


💻 API Changes (11)

💻 API:

  • Add TownyAPI#getNations which returns a list of all nations.

  • Add TownyMessaging#sendMsgToOnlineAdmins.

  • Add new MetaDataType: Location.

  • New (replacement) events:

    • PlayerEntersIntoTownBorderEvent - Thrown when a player crosses into a town.
    • PlayerExitsFromTownBorderEvent - Thrown when a player crosses out of a town.
    • These events replace the now-deprecated PlayerEnterTownEvent and PlayerLeaveTownEvent which had names which were too ambiguous.
  • Remove internal usage of Essentials.

    • Deprecated:
      • TownySettings.isUsingEssentials,
      • Towny.isUsingEssentials(),
      • Towny.getEssentials().
  • Deprecate old TownComparators class.

  • Add StatusScreen#getComponentKeys

    • When a plugin wants to know the keys the back the StatusScreen#getComponents collection.
  • Update Economy-related events.

    • Old events that are deprecated are no longer called.
    • New events use the same methods, with better javadocs, and exist in the economy package.
  • Deprecate redundant WorldCoord#getTownyWorldOrNull method, courtesy of Warriorrrr with PR #6376.

  • DeleteNationEvent continuity fix, courtesy of PainOchoco with PR #6301.


🔧 Fixed (37)

🔧 Fixed:

  • Remove underscores from %townyadvanced_nation_or_town_name% placeholder.
  • Fix towny.admin.spawn not also being tested for in spawning.
  • Fix NoSuchMethodError on 1.16.5 servers regarding World#isRespawnAnchorWorks.
  • Fix nation setting their taxes before setting taxpercent when the db loads.
  • Fix nation and town taxes potentially being set to 0 when taxpercent is toggled off.
  • Fix admins and ops being blocked by the blocked-commands lists.
  • Fix admins and ops being denied the ability to teleport in towns they are outlawed in.
  • Update plugin.yml.
  • Refactor TownyLoginListener.
  • Refactor EntityMonitorListener.
  • Fix typo in PlayerEnterTownEvent.
  • Tidy TownyPermissionSource.
  • Better feedback message when an override lang file is not able to pass a yaml test.
  • Fix some of the economy-related placeholders not formatting themselves for the economy.
  • Fix /plot clear not going all the way to the bottom of 1.19 worlds.
  • Fix possible IllegalStateException thrown from ConfirmationSendEvent when /t unclaim all is run.
  • Show correct invalid name when a nation is improperly named.
  • Fix /tw toggle for console helpmenu display wrong args order.
  • Fix tab completion for /t rank remove {player} not using the player's ranks.
  • Fix nation-less towns rendering town-entered title messages poorly.
  • Handle null mayors in Town#getFounder().
  • Refactor in TownyAdmin command code.
  • Warn about townblocks folder loading worlds Bukkit cannot find, instead of causing safe mode.
  • Refactor onCreatureSpawnEvent.
  • Refactor TownyEntityListener hangingbreak and projectilehit event handlers.
  • Simplify TownySettings#getTownUpkeepCostRaw.
  • Prevent falling blocks from being launched into towns, courtesy of Warriorrrr with PR #6314.
    • Requires your server to be using Paper, Spigot does not have this in their API.
    • Closes #6312.
  • Fix potion splash event edge case, courtesy of Warriorrrr with PR #6296.
  • Replace unmodifiable annotation with jetbrains equivalent, courtesy of Warriorrrr with PR #6292.
  • Fix NPE on startup, courtesy of Warriorrrr with PR #6322.
  • Improve /ta tpplot, courtesy of Warriorrrr with PR #6323.
  • Remove redundant isWilderness check, courtesy of Warriorrrr with PR #6327.
  • Fix possible tab complete npe, courtesy of Warriorrrr with PR #6331.
  • Use the world's wild revert delay, courtesy of Warriorrrr with PR #6343.
  • Set to main scoreboard when toggling hud off, courtesy of Warriorrrr with PR #6345.
  • Remove old powdered snow workaround, courtesy of Warriorrrr with PR #6360.
  • Fix possible /tw set wildname NPE, courtesy of Warriorrrr with PR #6361.
  • Replace deprecated getPassenger, courtesy of Warriorrrr with PR #6370.
  • Temporarily use name for world lookups again, courtesy of Warriorrrr with PR #6378.
  • Ignore end portal respawns, courtesy of Warriorrrr with PR #6399.
  • Fix typo in PlayerLeaveTownEvent, courtesy of Senkoco, GNosii & LlmDL with PR #6349.

🌏 Language Updates (0)

🌏 Language Updates:

  • None.

🌏 Dependency Updates (5)

🌏 Dependency Updates:

  • Bump adventure-text-minimessage from 4.11.0 to 4.12.0.
  • Bump adventure-text-serializer-plain from 4.11.0 to 4.12.0.
  • Bump adventure-platform-bukkit from 4.1.2 to 4.2.0.
  • Bump annotations from 23.0.0 to 23.1.0.
  • Bump paperlib from 1.0.7 to 1.0.8.

👽 Placeholder Updates (1)

👽 Placeholder Updates:

  • %townyadvanced_nation_or_town_name% - courtesy of Warriorrrr with PR #6307.
    • Displays a player's nation name or, if no nation, their town name or, blank if they have no town.
    • Closes #6294.

💬 TownyChat Changes (8)

💬 TownyChat Changes:

  • Allow for players to use !message to send chat to a Global channel.
    • Will not work when chat is being directed to a channel, ie: /nc !chat message.
  • Make TownyChat better able to handle broken PAPI placeholders that won't parse.
    • On the off chance you have put unparse-able placeholders into your chatconfig.yml you will be made aware of them in your log.
    • This new system should be able to let TownyChat format your chat properly when this occurs.
  • Update min. Towny version to 0.98.4.0.
  • Use internal Essentials object instead of the one found in Towny.
  • Fix incorrect lang string called in /ch mutelist {channelname}
  • Fix a player who has lost their town being stuck in /tc or /nc.
  • Update min. Towny version to 0.98.5.0 & replace deprecated methods.
  • Fix permission test backing /channel join {channelname}.

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 release of Towny.

MrLoganoMomshroomCobrex1scatterspellTheFlagCouriergerardvanschip
DrprofLuigiSmallSansSerifTheNyloxtrevor1097benevolent2012Scottlander100
cigamingKeNickGongMilesBHuffpebblehostBamBamTheEggmanNoikzGaming
Kali0033TakeoRenkaSkapMCJqnniesLemuridaeeReEvadere
qckcatroflmarvbeabuenodevLoJoShoThePontificateAllieDragon
TegulaThePigKjellWolfCalestonDynamite99TuckerAndrews3darthpeti
CboxheroWillysHubAgalothLaBoulangerieEblyssBurgBoi
akup001Intrabit71finder1793mattematti2Bloc-kSW1D3RSK1
PeskdtxSTORMYxSHMRenoldHenoldAnachroSoft0xBitMCLightNing002
Valerie2308Downsurgelukemangoethanic17Chibby9607RulaAshvure
KelbbieHerbDashwellKaiserSergioPh4i1ur3DuergurUnitedLands
TRLWeissilllliyastjdingsAldinaMappingshiaki-66CrypticBlades
FilthyCasualOfficialEcoSMPRFSMassacreSemisolTheeno74Darklom
serialrainTheDelusionedItzXPurpleXLuciusredRekar7Waspyethan
Tomtombusiness1994LordHenryVonHenryMetaverseRPNAfricaByTot0Noxillionotzune
real-vgiLambsyguillermodiazkiernansItsSynchroRudyWadeBoomNOTIMETOPARTY
Denum1986treeDerevoAviside GrokkyHodorKofdex harryhazza3
OrbitalHare CalebGitBritanniaAJ4realand 22 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
How Towny WorksTowny Install GuideTowny Update Guide
Complete Changelog Default Config FilesCommands/Permissions
Placeholders

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