Skip to content

0.98.2.0 for MC 1.16.* & 1.17.* & 1.18.*

Compare
Choose a tag to compare
@LlmDl LlmDl released this 24 May 16:00
· 1829 commits to master since this release

Towny Advanced 0.98.2.0

Release contains:

Towny 0.98.2.0
TownyChat 0.96

Welcome to Towny 0.98.2.0.
Towny 0.98.2.0 is the third release in the 0.98.*.* series!
This release adds a couple of very nice things including Plot Type caching, things made async and many quality of life changes.
This release fixes a fair number of bugs too, so you should be updating to this drag-and-drop release as soon as possible.
This version supports 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.
➕ Added (25)

➕ Added:

  • Add Plot type caching for towns.
    • Towns now keep track of how many plots of each type, their forsale and hasresident status in memory.
    • This opens the door to a new set of features based on plot types.
  • Replace references to Kings in the english language files with the word Leader or Nation Leader.
    • Nation king commands now include aliases for leader.
    • Leader is now a banned town and nation name.
  • Add confirmation to /ta reset.
  • Drop support for MC 1.14.* and 1.15.*.
  • Add REMOVE MigrationType to ConfigMigrator.
  • Add warning message on login telling players they are in fact bankrupt.
  • Add new asmayorinunowned permission node, courtesy of Warriorrrr with PR #5836.
  • Update townyperms comment, courtesy of Warriorrrr with PR #5841.
  • Improve hibernated residents loading, courtesy of Warriorrrr with PR #5840
  • Open baltop book synchronously, courtesy of Warriorrrr with PR #5861.
  • Cache towny time, courtesy of Warriorrrr with PR #5859.
  • Add descriptive error if Towny is being shaded, courtesy of Warriorrrr with #5864.
  • Check player name async on login, courtesy of Warriorrrr with PR #5900.
  • Allow specific luckperms contexts to be disabled, courtesy of Warriorrrr with PR #5898.
  • Protect against cauldron filling/emptying, courtesy of Warriorrrr with PR #5901.
  • Show ally requests to players with accept permissions, courtesy of Warriorrrr with PR #5903.
  • Add option to disable pickups while under respawn protection, courtesy of Warriorrrr with PR #5902.
  • Add player name to /t claim withdraw reason, courtesy of Warriorrrr with PR #5922.
  • Make the mob removal task partially async, courtesy of Warriorrrr with PR #5918.
  • Add AccountAuditor#getTransactions, courtesy of Warriorrrr with PR #5914.
  • Add NationPreAddAllyEvent, courtesy of galacticwarrior9 with PR #5832.
  • Let admins bypass nation capital checks with confirmation, courtesy of Gamer153 with PR #5834.
  • New time-related placeholders till New Day, courtesy of LoJoSho with PR #5856. (First-Time Contributor!)
  • Add Town & Nation LuckPerms Contexts courtesy of Galster-dev, with PR #5883. (First-Time Contributor!)
    • These are contexts that apply per-town and per-nation, making it possible to give permissions to a single Town's members etc.
  • Add plot types component to the town status screen, courtesy of Altruiis with PR #5905. (First-Time Contributor!)

➕ Automatic Config Edits (1)

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

  • Add missing SUGAR_CANE to unclaimed zone ignore materials.

✨ Command Changes (3)
✨ New Commands (3)

✨ New Commands:

  • /res toggle bordertitles
    • Allows a player to turn on/off the Title messages seen when entering/leaving a town, when using_titles is true in the config.
    • Closes #5767.
  • /ta checkoutposts
    • Checks all the towns on the server for invalid outposts spawns, removing any that aren't within the town.
  • /ta town TOWNNAME checkoutposts
    • Checks the outpost spawns for a single town, removing any that aren't within the town.

❌ 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.

  • plugin.interfacing.enabled_contexts
    • Default: "*"
    • Configure what contexts to enable/disable here, contexts must be separated by a comma.
    • Available contexts: towny:resident, towny:mayor, towny:king, towny:insidetown, towny:insideowntown, towny:insideownplot, towny:townrank, towny:nationrank, towny:town, towny:nation
  • global_town_settings.respawn_protection.allow_pickup
    • Default: true
    • If disabled, players will not be able to pickup items while under respawn protection.

❌ Removed Config Options (0)

❌ Removed Config Options:

  • None.


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

🔑 New Permission Nodes:

No change required in townyperms.yml.

  • towny.command.plot.asmayorinunowned
    • Meant for an assistant-like rank, allowing them permission to complete mayor-like tasks, but only in town-owned plots with no resident owning said plots.
    • These tasks include:
      • managing plot groups,
      • putting plots for sale, not for sale,
      • altering jail cells,
      • using /plot perm add|remove,
      • using /plot trust add|remove
    • This node is a child node of towny.command.plot.* and does not require any changes to your townyperms.yml.
  • towny.command.townyadmin.checkoutposts
  • towny.command.townyadmin.town.checkoutposts

❌ Removed Permission Nodes (0)

❌ Removed Permission Nodes:

  • None.


💻 API Changes (13)

💻 API:

  • Allow other plugins to use ConfigMigrator.
    • Able to be used by plugins which use Towny's internal CommentedConfiguration class.
    • Requires a json migration file in your plugin's resources folder.
  • New events:
    • PlayerKeepsInventoryEvent
    • PlayerKeepsExperienceEvent
    • Two events that allow other plugins to cancel Towny saving player's inventory or xp orbs.
  • Resident Utility Methods:
    • Add Resident#hasPermissionNode(String).
    • Add Resident#isAdmin().
  • Improve PlayerKeepsInventoryEvent and PlayerKeepsExperienceEvent by making PlayerDeathEvent accessible and providing #getKiller.
  • Make TownRemoveResidentRankEvent and TownAddResidentRankEvent cancellable.
    - When an admin uses the /ta command to add or remove a rank, the events are thrown but not cancellable.
  • Make NationRemoveResidentRankEvent and NationAddResidentRankEvents thrown when the admin uses the /ta commands.
  • Add setShowingPlotNotifications to the PlayerChangePlotEvent.
    • Other plugins may use the API to disable plot notifications (or if they are disabled in the config, enable them.)
  • Adds ability to suppress error messages sent by TownyActionEvents, courtesy of PestoNotPasta with PR #5925.

🔧 Fixed (25)

🔧 Fixed:

  • Fix merging towns with outposts, when the outposts are not being limited by the town_levels in the config.
    • Also probably fix max-bonus-bought blocks also causing a similar issue.
  • Fix a cancelled new town still broadcasting the creation of a new Town.
  • Fix tricky players being able to able to spy on TownyChat.
  • Correctly hide online and vanished players from the tab complete commands.
  • Fix /ta set mayor command putting a town's hasUpkeep value in the opposite state.
  • Draw SpawnPoint particles Async.
  • Fix Error seen when a plugin cancels the NationPreAddEnemyEvent.
  • Remove the last of the NotRegisteredExceptions from the TownyPlaceholderExpansion.
  • Fix error that prevents using town and nation spawn commands when is_public_spawn_cost_affected_by_town_spawncost is set to false.
  • Translate a couple things that weren't translated.
  • Fix outpost spawns being able to be made in other towns in rare conditions.
  • Fix regression from 0.98.1.1 causing java.lang.NullPointerException on load.
  • Return is116Plus method to Towny so TownyChat will be happy.
  • Fix formatting of a town's conqueredDays in the flatfile database.
  • Fix new day unconquering task being run Async.
  • Re-add extra isOutpost test to Town#removeTownBlock for mysql-using servers.
  • Fix potential NPE caused by /plot set reset.
  • Fix message shown when outlaws try to /t spawn from a town they are outlawed in.
  • Remove NotRegisteredException usage in calling PlayerEnterTownEvent and PlayerLeaveTownEvent.
  • Handle different Objects which aren't CommandSenders in the main sendErrorMsg method.
  • Fix SpawnEvents not being cancelled correctly.
  • Fix water being able to be placed in waterloggable blocks on plot borders, courtesy of Warriorrrr with PR #5736.
  • Fix runCommand for plots button, courtesy of Warriorrrr with PR #5910.
  • Fix /towny top balance, courtesy of Altruiis with PR #5839. (First-Time Contributor!)
  • Fix /ta checkperm having incorrect tab completions, courtesy of Altruiis with PR #5830.

🌏 Language Updates (2)

🌏 Language Updates:

  • Bump language files to 0.150.
  • New Language: Ukrainian translation added via Crowdin.com. Set your client to Ukrainian in order to see translation.

👽 Placeholder Updates (7)

👽 Placeholder Updates:

  • %townyadvanced_time_until_new_day_hours_raw% - Display the raw number of hours until new day.
  • %townyadvanced_time_until_new_day_minutes_raw% - Display the raw number of minutesuntil new day.
  • %townyadvanced_time_until_new_day_seconds_raw% - Display the raw number of seconds until new day.
  • %townyadvanced_time_until_new_day_formatted% - Display the amount of time until a new day, formatted and translated.
  • %townyadvanced_time_until_new_day_hours_formatted% - Display the amount of hours until a new day, formatted and translated.
  • %townyadvanced_time_until_new_day_minutes_formatted% - Display the amount of minutes until a new day, formatted and translated.
  • %townyadvanced_time_until_new_day_seconds_formatted% - Display the amount of seconds until a new day, formatted and translated.

💬 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 support and development as active as it is.

MrLoganoMomshroomCobrex1 KarlOfDuty scatterspell
TheFlagCouriergerardvanschipDrprofLuigiSmallSansSerifTheNylox
diontimmertrevor1097benevolent2012Scottlander100EnvyEnfys
MidnightSugarmzyaxPestoNotPastacigamingKeNickGong
MilesBHuffpebblehostAkiranyaBamBamTheEggmanNoikzGaming
TakeoRenkaLordHenryVonHenrySolarCivLitning11SkapMC
TausesJanniesLemuridaeeReEvadereqckcat
roflmarvbeabuenodevLoJoShobenjamin1313ThePontificate
AllieDragonTegulaThePigbenlmyersKjellWolfCaleston
Dynamite99bloctownGalliutTuckerAndrews3darthpeti
PixelJames22CboxheroWillysHubDefinitelyNotPestoColbertoSwagerto
AgalothMille12313LaBoulangerieMrSneakyGuyEblyss
BurgBoiakup001Intrabit71VexfulNikoMetaverseRPN
KawadaJPfinder1793mattematti2gladmountainPosvite
ZhekaRampa5zvkrazzysinghhavencraftmcmaarslange
TokusieBloc-kflare2121EchoGravitySW1D3RSK1
PeskdtxSTORMYxSHMLDRAGODbdagenais2Dantexde
txtraplineFauultySpellRenoldHenoldTamaKaiNyaAnachroSoft
echterSupJand 14 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: