Skip to content

0.101.0.0 for MC 1.19.* & 1.20.* & 1.21.*

Latest
Compare
Choose a tag to compare
@LlmDl LlmDl released this 27 Nov 17:20
· 28 commits to master since this release

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

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

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

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

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

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

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

  • Fix SERVER_ACCOUNT initializing after GLOBAL_OBSERVER

  • Prevent wind charge exploits on switch blocks.

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

  • 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 Works Towny Install Guide Towny Update Guide
Other Towny Plugins Complete Changelog Default Config Files Commands/Permissions
Placeholders

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