Skip to content

0.100.1.0 for MC 1.16.* & 1.17.* & 1.18.* & 1.19.* & 1.20.*

Compare
Choose a tag to compare
@LlmDl LlmDl released this 10 Jan 18:00
· 510 commits to master since this release

Towny Advanced 0.100.1.0

Release contains:

Towny 0.100.1.0
TownyChat 0.112

Welcome to Towny 0.100.1.0.
Towny 0.100.1.0 is the second release in the 0.100.*.* series!
0.100.1.0 supports all versions of Minecraft 1.16 and newer.
This version adds support for MC 1.20.3 and 1.20.4, as well as a healty amount of new and exciting features.
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 (28)

➕ Added:

  • Enhanced Nation Proximity Feature.

    • The Nations-require-proximity feature that makes Towns' homeblocks stick close to their Nation's homeblock has had a major overhaul.
    • It is now possible for the towns within a nation to add more distance to the normal proximity, allowing nations to "go wide".
    • This means that towns can be outside of the nation's homeblock proximity as long as they are within a range of another of the nation's towns' homeblocks.
    • Additionally it is possible to make a cap on just how far nations' towns can boost that distance, with a new absolute cap on the proximity to the nation's homeblock.
  • Add /res plotlist {name} Command.

    • A command which shows you the plots which are personally owned by yourself, or by the resident with the given name.
    • Location, town, plottype and plot name are all shown.
    • When it is used by an Admin, they also gain the ability to click on the list to teleport to the plots as long as they possess the towny.command.townyadmin.tpplot permission node.
    • Closes #7075.
  • Add the ability for nations to sanction towns.

    • Using /n sanctiontown ... kings can add/remove and list their sanctioned towns.
    • Sanctioned towns cannot join the nation via invite or via the /n join [nationname] command.
    • Sanctioned towns' residents cannot use /n spawn [nationname] to spawn into nations they have been sanctioned by.
    • Closes #6544.
  • Reorganize the config, creating dedicated sections for Claiming and Spawning.

    • Existing config.yml's will have ~60 entries moved into their new locations with their settings preserved.
    • Over 13 years of Towny development there have been many settings added into the section that was a "best-fit".
    • The creation of Spawning and Claiming section will ease the addition of future settings in these areas.
  • Add Confirmation to /t set mayor command.

  • Add the ability to block claiming in plots which have too much Ocean or otherwise Unwanted biome in them.

  • Add ability for overclaiming to require enemy status, when nations are involved.

  • Add option to prevent players depositing/withdrawing in their homeblocks when they have a bank plot available (all while deposit/withdraw is restricted to bank plots.)

  • Make /ta town new [townname] bypass the proximity/claiming rules.

  • Add plot costs and plot group information to the /plot perm hud when applicable.

  • Show players who cannot pay the peaceful/neutral costs how much they will need to pay.

  • Add automatic protection for the bottoms of glowberry plants being harvestable.

  • Update attribution in /towny universe to reflect 2023 stats.

  • Update Towny/Sponsor plugins list.

  • Make the TownyUniverse code a bit more readable.

  • Refactor town homeblock proximity tests into new ProximityUtil method.

  • Add /t create and /n create tab completions.

  • Render border particles under leaves.

  • Refactor PermHud class.

  • Add claiming particle effect.

  • Refactor the parseJailCommand method.

  • Refactor the parseTownClaimCommand method.

  • Refactor the townRank method.

  • Add claiming particle effect when new towns are made.

  • Separate the load and save data sources, courtesy of Warrior with PR #7100.
    • Fixes a minor memory/connection leak when using mysql, the load datasource is now properly shut down when it's no longer needed and re-used if possible.
  • Make plot groups extend townyobject, courtesy of Warrior with PR #7141.
  • Add an isOverClaim property to TownClaimEvent and TownUnclaimEvent, courtesy of Fruitloopins with PR #7165.

➕ Automatic Config Edits (20+)

➕ Towny's default config and world files will have the following automatic changes made:

  • Towny will reorganize some of the existing settings into two new Root config sections: Claiming and Spawning. Your settings will be preserved.

  • Moved Config Option: global_town_settings.nation_requires_proximity -> global_nation_settings.proximity.nation_proximity_to_capital_city

    • Your config's setting value will be transferred to the new location.
    • Default: 0.0
    • The maximum number of townblocks a town's homeblock can be away from their nation capital's homeblock.
    • Automatically precludes towns from one world joining a nation in another world.
    • If the number is 0, towns will not require a proximity to a nation.

✨ Command Changes (4)
✨ New Commands (4)

✨ New Commands:

  • /res plotlist {#} - Shows a player their own list of plots, with an optional page number.

  • /res plotlist [name] {#} - Shows a list of plots for the given player name, with an optional page number.

  • /nation sanctiontown

    • add [townname] - Adds a town to the sanctioned town list.
    • remove [townname] - Removes a town from the sanctioned town list.
    • list - Lists your nation's sanctioned towns.
    • list [nationname] - Lists the sanctioned towns of other nations.
  • /ta nation [nationname] sanctiontown

    • add [townname] - Adds a town to the sanctioned town list.
    • remove [townname] - Removes a town from the sanctioned town list.
    • list - Lists the nation's sanctioned towns.

✨ Changed Commands (0)

✨ Changed Commands:

  • None.

❌ Removed Commands (0)

❌ Removed Commands:

  • None.


📕 Config Changes (11)
📕 New Config Options (11)

📕 New Config Options:

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

  • town.max_buytown_price

    • Default: 999999999
    • The Maximum price that a town can be put for sale at.
    • This refers to the price that someone could pay if they ran /t buytown, to buy a town that has been put up for sale.
  • global_nation_settings.proximity.nation_proximity_to_other_nation_towns

    • Default: 0.0
    • The maximum number of townblocks a town's homeblock can be away from other towns's homeblocks in the nation.
    • This setting is only used when nation_proximity_to_capital_city is above 0.
    • When used, and a town is out of range of their capital city, the remaining towns in the nation will be parsed, if one of those
      towns' homeblocks is close enough to the town's homeblock, the town can remain in the nation.
    • Leave this setting at 0.0 in order to de-activate nations' towns granting further range for towns in the nation.
  • global_nation_settings.proximity.absolute_distance_from_capital

    • Default: 0.0
    • The maximum number of townblocks a town's homeblock can be away from their nation's capital's homeblock, when the town is
      being allowed to go further out from the capital because of the nation_proximity_to_other_nation_towns setting above.
    • This setting is what will stop a nation being able to go incredibly wide due to towns 'chaining' together.
    • This setting is only used when nation_proximity_to_capital_city is above 0.
    • Leave this setting at 0.0 in order to allow nations to chain towns together to go as wide as they like.
  • claiming.biome_rules.unwanted_biomes.enabled

    • Default: false
    • When true, unwanted biomes will be tested for when a player is claiming land.
  • claiming.biome_rules.unwanted_biomes.biomes

    • Default: "the_end,end_barrens,end_highlands,end_midlands,small_end_islands"
    • A comma separated list of biome names that will add up towards a townblock's un-claim-ability.
  • claiming.biome_rules.unwanted_biomes.threshold

    • Default: 55
    • The max amount of combined unwanted biomes as a percent, that will be allowed in plots being claimed by towns.
    • For example, if a townblock would be more than X percent ocean it will not be able to be claimed.
  • claiming.biome_rules.ocean_blocking.enabled

    • Default: false
    • When true, any wilderness plot which has more Ocean biome in it than the allowed threshold (see below,) will not be able to be claimed.
  • claiming.biome_rules.ocean_blocking.threshold

    • Default: 55
    • The max amount of combined ocean biomes as a percent, that will be allowed in plots being claimed by towns.
    • For example, if a townblock would be more than X percent ocean it will not be able to be claimed.
  • claiming.overclaiming.nations_required_to_be_enemies

    • Default: false
    • When true, when the towns involved in the overclaiming both have nations, the overclaiming town's nation will have to have the overclaimed town's nation declared as an enemy.
    • Towns with no nation are not affected by this rule.
  • claiming.show_claiming_particles

    • Default: true
    • When false players will not see the particle flood effect when they claim townblocks.
  • bank.do_homeblocks_not_work_when_a_town_has_bank_plots

    • Default: false
    • If true, towns which have one or more bank plots will no longer be able to use their homeblock for withdraw/depositing.
    • Requires the above is_banking_limited_to_bank_plots to be true as well.

❌ Removed Config Options (0)

❌ Removed Config Options:

  • None.


🔑 Permission Node Changes (5)
🔑 New Permission Nodes (4)

🔑 New Permission Nodes:

No change required in townyperms.yml.

  • towny.command.resident.plotlist
    • Child nodes of towny.commmand.resident.*
  • towny.command.nation.sanctiontown
    • Allows adding/removing sanctioned towns, a child node of towny.command.nation.*.
  • towny.command.townyadmin.nation.sanctiontown
    • Allows admins to add/remove sanctioned towns from a given nation, a child node of towny.command.townyadmin.nation.*.
  • towny.command.town.buy.*
    • Child Nodes:
      • towny.command.town.buy.bonus - Allows mayors to use /t buy bonus.
      • No change required in your townyperms.yml, the old node towny.command.town.buy will continue to point to towny.command.town.buy.bonus, although it is recommended you change over to using the new towny.command.town.buy.* instead.

❌ Removed Permission Nodes (1)

❌ Removed Permission Nodes:

  • towny.command.town.claim.town.multiple
    • Towny over the years has made great progress towards making claiming more light weight on the server.
    • Therefore it makes sense to allow the use of /t claim # and other multi-claiming commands by default.

----
💻 API Changes (8)

💻 API:

  • Remove everything deprecated between 0.98.0.0 and 0.99.0.0.
  • Add equals and hashcodes overrides to Resident, Town, Nation & TownyWorld objects.
  • Add 2 utility methods to BlockLocation object.
  • add getTownyObjectUUID utility method to TownyEconomyHandler.
    • A useful method that an Economy plugin can use in order to get the correct UUID associated with Towny objects' economy accounts.
  • Added NationSanctionTownAddEvent
    • A cancellable event which is fired before a town becomes sanctioned.
  • Added NationSanctionTownRemoveEvent
    • A cancellable event which is fired before a town becomes unsanctioned.
  • Add TownIsTownOverClaimedEvent.
    • Thrown when Towny asks if a Town is overclaimed, and it is.
    • Allows other plugins to cancel the event, in which case Towny will tell itself that the town is not overclaimed.
  • New CommandAddonAPI for /town buy, courtesy of lexiccn with PR #7177. (First-Time Contributor!)
    • It is now possible for other plugins to add subcommands to the /town buy command.
    • Closes #6379.

🔧 Fixed (35)

🔧 Fixed:

  • Prevent the drops that spawn from problem blocks which can be duped in explosion regenerations.
    • These were things like carpets, pressureplates and other blocks that attach to blocks.
    • Closes #7154, #5689.
  • Fix players being able to use hotbar buttons to place items into Towny inventory GUIs, resulting in loss of items.
  • Fix page navigation from list footers in the plotgrouplist and plotlist screens.
  • Fix outposts being counted wrong in town merge vetting code.
  • Fix manually-set town levels not returning the correct TownLevel.
  • Make the ASCII map legend use the symbols that are set in the config.
  • Fix plot set outpost throwing an error on servers where using_economy is false.
  • Fix creatures-using-stone-pressure-plates config setting being overridden.
  • Fix plots not losing their trusted residents when the owner of the plot changes.
  • Fix PlayerChangePlotEvent reactions running too early.
    • /res toggle townclaim mode and the ChunkNotifications that follow.
  • Fix players being able to bypass setting enemy status during cache creation.
  • Fix potential ConcurrentModificationException when a town removes an outpost spawn.
  • Fix /ta town and /ta nation tab completers not using TownyAddonCommandAPI completions when there are too many arguments.
  • Fix TownyAddonCommandAPI's TownyAdmin Nation Tabcompleter not using the correct command type.
  • Fix saving nations unnecessarily when a nation is renamed.
  • Fix regression: the /t invite {playername} not working as of 0.100.0.2.
  • Fix /t set perm commands showing error feedback messages.
  • Prevent players without plot perms lighting campfires with flame arrows.
  • Reset bolding/italics/etc and not just colours in formatted names list outputs.
  • Make Towny more resiliant to errors which come from having no Economy present on the server.
  • Fix potential IllegalArgumentException by loading sanctioned towns in a safer way.
  • Correct townblock reporting in debug messages no one sees.
  • Fix outsiders being charged money for plotgroups they cannot actually /plot group claim, (not embassy plots.)
  • Fix non-standard minecarts being unprotected.
  • Hide /ta ? from the /towny ? screen when players are not admins.
  • Fix jail bail amounts not being applied correctly.
  • Fix a couple places where the adminbypass mode would not stop admins being treated special for teleports.
  • Fix new outlaws being teleported when they have in fact left the town's borders.
  • Fix residents being able to see vanished online players who are in their town.
  • Fix the draw smoke task being able to load chunks, courtesy of Warrior with PR #7053.
  • Prevent ruined towns from being bought, courtesy of Warrior with PR #7073.
  • Remove two cases of == equality check for residents, courtesy of Warrior with PR #7084.
  • Immediately schedule upcoming newday on paper servers, courtesy of Warrior with PR #7101.
  • Fix config migrator file formatting, courtesy of Warrior with PR #7128.
  • Fix two nation command tab complete exceptions, courtesy of Warrior with PR #7158.

🌏 Language Updates (0)

🌏 Language Updates:

  • None.

🌏 Dependency Updates (19)

🌏 Dependency Updates:

  • Bump me.clip:placeholderapi from 2.11.4 to 2.11.5.
  • Bump org.apache.commons:commons-text from 1.10.0 to 1.11.0.
  • Bump com.zaxxer:HikariCP from 5.0.1 to 5.1.0.
  • Bump org.junit.jupiter:junit-jupiter from 5.10.0 to 5.10.1.
  • Bump org.junit.jupiter:junit-jupiter-api from 5.10.0 to 5.10.1.
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.1 to 3.2.2.
  • Bump org.jetbrains:annotations from 24.0.1 to 24.1.0.
  • Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.22.0 to 3.47.0.
  • Bump org.apache.commons:commons-compress from 1.24.0 to 1.25.0
  • Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.1.
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.3.
  • Bump net.tnemc:Reserve from 0.1.5.0 to 0.1.5.4.
  • Bump adventure-platform to 4.3.2 for 1.20.4 compatibility.
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.3.
  • Bump com.github.seeseemelk:MockBukkit-v1.20 from 3.47.0 to 3.60.0.
  • Bump net.kyori:adventure-text-minimessage from 4.14.0 to 4.15.0.
  • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1.
  • Bump net.kyori:adventure-text-serializer-plain from 4.14.0 to 4.15.0.
  • Bump net.coreprotect:coreprotect from 22.2 to 22.3.

👽 Placeholder Updates (2)

👽 Placeholder Updates:

  • %townyadvanced_daily_resident_tax%
    • A placeholder that shows how much a resident will pay daily in taxes.
    • This number is the total of any town tax as well as any plot taxes they owe.
    • Taxes owed are cached for a period of time using the config's economy.bank_account_cache_timeou setting.
  • %townyadvanced_daily_resident_tax_unformatted%
    • A placeholder that shows how much a resident will pay daily in taxes, but unformatted, just a raw number.

💬 TownyChat Changes (2)

💬 TownyChat Changes:

  • Add optional listen and speak nodes to TownyChat channels.
    • The channels in the channels.yml may now be given listenpermission and speakpermission keys, whose values will be the permission node require to either speak or listen to the channel.
    • When these are set on a channel they will make the permission key of the channel redundant and unused.
    • Closes #1020.
  • Add CommentedConfiguration support to the channels.yml.
    • The Comments in the file have been updated to include missing channel flags.
    • It is now possible to update the file comments as new flags are added.
  • Fix creation of channels.yml, opting to make channels into proper ConfigurationSections rather than Maps which aren't easily read on their first creation and then subsequent load.
  • Fix default channels.yml having local as a default channel.

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.

MrLoganoMomshroomCobrex1TheFlagCourierDrprofLuigiSmallSansSerif
TheNyloxpebblehostNoikzGamingThePontificateAllieDragonTegulaThePig
darthpetiEblyssakup001KelbbieAldinaMappingCrypticBlades
EcoSMPTheeno74Rekar7Lambsyguillermodiazkiernansvyvin
keijodputtNeumimToo-zzervette-danielAncientSMJunkieCraft
Hikitsune-RedDoctorChosenDynamite99ItsSynchroEpicSpeedMrLogano
CorruptedGreedProjectGuinnessDeathrayne225ReEvaderetrevor1097MetaverseRP
CorruptVDGabrielTKPolo-luluFolas1337GundalfWasTakenMayorMike
gageeetMicroweb4PainOchoco Bloc-kbradyyykennyyxSTORMYxSHM
Manul-NewtonPolo-luluAshparty jsuarezl Roman90879editon96
Intrabitgerardvanschip TheWordSmith123CasperTimmyMKieburtzExygle
KermXnullXer0gorbyhailRimuru-Tempest-IMPAlink-MartyMilesBHuff
GraphicHexspikehiddenDeadhyenatypicalsmartmanKeNickGongRandalABurdJr
DarioMaviliaconnor7K smokytekCelestial0579Sk8nkillxCptSpiffyx
AustinGoodrichcloverlucyMatthewEEllisonJolunasFruitloopinstomhmagic
SW1D3RSK1BorakanTunaboyusJameskmongerRandaeMCSecondEarthOnlineMattWillen
lukemangoError11ORgmauosTubejshalbrookNicholasJBondZenithDevv
diskawrstimolzr SemisolCraig1020 xeonatlasHerbertsStudios
Frac11111 Arclite-io ShiftSadWiiitcheryMdenton342connorwally
PoseidonGamesConquerBou Yatochka8RRRRzzzz2 MrMirhanPeskdt
and 52 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 Plugins!

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: