Skip to content

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

Latest
Compare
Choose a tag to compare
@LlmDl LlmDl released this 09 Sep 16:08
· 94 commits to master since this release

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.

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

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

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

  • 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.
  • Expose cost in successful teleport event, courtesy of Warrior with PR #7487.
  • 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.
  • Fix NPE when player without town tab completes /t outpost, courtesy of Warrior with PR #7581.
  • 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 #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 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: