Skip to content

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

Pre-release
Pre-release
Compare
Choose a tag to compare
@LlmDl LlmDl released this 04 Oct 14:19
· 1858 commits to master since this release
  • Change to Config Option: notification.titles.nationcapital_format
    • Default: "&6Entering %s, Capital City of %s"
    • The format used to format the {nationcapital} option. The name of the capital city and nation will replace the %s and %s.
    • Alternatively, you can use %t for townname and %n for nationname and show either one or both.
  • New PAPI Placeholders:
    • %townyadvanced_town_unformatted% - Shows the player's townname, if they have one.
    • %townyadvanced_nation_unformatted% - Shows the player's nationname, if they have one.
    • Closes #6197.
  • Jail Overhaul courtesy of Kali (First-Time Contributor!) and LlmDL with PR #6031.
    • Includes the ability for mayors to set bail amounts.
      • Admins can limit the upper limit on bail costs.
    • Includes the optional ability for admins to set a jail-upkeep.
      • Towns can be made to pay an initial fee to jail someone.
      • Towns can be made to pay hourly to house prisoners.
    • Includes the ability to limit how many players can be jailed in one town.
      • There is also a configurable system that decides when happens when a town has reached their jailed-residents limit.
    • Includes the ability to give or not give the jail book received by newly jailed players.
  • New Config Options:
    • jail.pow_jail_hours
      • Default: 5
      • How many hours an attacking enemy will be jailed for.
    • jail.maximum_jail_hours
      • Default: 5
      • The maximum hours that a mayor can set when jailing someone, full number expected.
    • jail.fee_initial_amount
      • Default: -1
      • Amount that it costs per player jailed for a town, this is withdrawn from the Town bank. Set to -1 to disable.
    • jail.fee_hourly_amount
      • Default: -1
      • Amount that it costs per player jailed per hour for a town, this is withdrawn from the Town bank. Set to -1 to disable.
    • jail.bail.bailmax_amount
      • Default: 100
      • Max bail cost that a mayor can set.
    • jail.max_jailed_count
      • Default: -1
      • Amount of potential jailed players per town, set to -1 to disable.
    • jail.max_jailed_newjail_behavior
      • Default: 0
      • Behaviour for new jail attempts if max jailed count is reached.
      • 0 = Unable to jail new players until a current prisoner is released.
      • 1 = A prisoner slot will be made by automatically releasing a prisoner based on remaining time.
      • 2 = A prisoner slot will be made by automatically releasing a prisoner based on lowest custom bail.
    • jail.is_jailbook_enabled
      • Default: true
      • If false players will not be provided with a book upon being jailed.
  • Changed command: /t jail.
    • If your server has bail allowed: jail.bail.is_allowing_bail, the jail command will now accept a bail amount:
    • /t jail [playername] {hours} {bail} {jail} {cell}
    • If bail is not allowed the old command is used: /t jail [playername] {hours} {jail} {cell}

Cumulative changes since 0.98.3.0
0.98.3.11
  • Add tab completion for setting town and nation map colours.
  • New Config Option: filters_colour_chat.papi_relational_formatting.no_town
    • Default: &f
    • Given to players who have no town.
    • Closes #6169.
  • New entering-town-placeholders:
    • When players see town/wilderness notifications for entering towns there are now new options:
      • {nationname} - Name of the nation.
      • {nationcapital} - Name of the nation capital and nation.
      • {nation_motd} - Shows the nationboard message.
      • {nation_residents} - Shows the number of residents in the nation.
      • {nation_residents_online} - Shows the number of residents online currently.
    • Closes #6159.
  • New Config Option: notification.titles.nationname_format
    • Default: "&6Nation of %s"
    • The format used to format the {nationame} option. The name of the nation will replace %s.
  • New Config Option: notification.titles.nationcapital_format
    • Default: "&6Entering %s, Capital City of %s"
    • The format used to format the {nationcapital} option. The name of the capital city and nation will replace the %s and %s.
  • New Config Option: economy.daily_taxes.allow_negative_plot_tax",
    • Default: false
    • If enabled, if a plot tax is set to a negative amount it will result in the resident that owns it being paid by the town bank (if the town can afford it.)
    • Make it possible for plot taxes to be negative, as a way for mayors to pay residents for owning plots.
    • Closes #6047.
  • Adopt new Spigot Criteria Scoreboard API.
0.98.3.10
  • API: Add TOWNYADMIN_TOWN and TOWNYADMIN_NATION CommandTypes, courtesy of Lemar98 with PR #6179. (First-Time Contributor!)
  • Add option to use a timer for new day scheduling, courtesy of Warriorrrr with PR #6181.
  • New Config Option: plugin.day_timer.uses_java_timer
    • Default: false
    • If enabled (disabled by default), a Java Timer will be used for scheduling new days, which is more accurate than Towny's Bukkit timer task but uses an extra thread.
  • Catch exceptions from spawn point particle spawning, courtesy of Warriorrrr with PR #6180.
  • Fix being able to set a townblock to the type it already is.
  • API: Add TownyAPI#getNation(Player), courtesy of Warriorrrr with PR #6190.
  • Remove old sculk spread option, courtesy of Warriorrrr with PR #6189.
  • Town board command improvements, courtesy of Warriorrrr with PR #6186.
  • Replace ChatTools.stripColour with Colors.strip, courtesy of Warriorrrr with PR #6185.
  • API: Add Confirmation related events, courtesy of Warriorrrr with PR #6182.
    • ConfirmationEvent
    • ConfirmationCancelEvent
    • ConfirmationConfirmEvent
    • ConfirmationSendEvent
      • Includes the ability "hide" the confirmation for plugin authors to replace with their own selection/display.
  • API: Add a ConfirmationTransaction to Confirmations.
    • This enables cost-requirements to be baked-in to Confirmations.
    • Costs are passed in as a Supplier<Double> so that calculations can be made after the player accepts.
0.98.3.9
  • Fix angry wolves not being attackable while in Towns when wolves are a protected entity.
  • Protect lily pads in towns from being destroyed by boats.
  • Use "town_sing" translation in TownCommand, courtesy of Warriorrrr with PR #6167.
  • API: Add TownyAPI#getTown(Player), courtesy of Warriorrrr with PR #6166.
  • Make TownyAPI#getOnlinePlayers(ResidentList) thread safe, courtesy of Warriorrrr with PR #6165.
  • Improve command blocking, courtesy of Warriorrrr with PR #6163.
  • Fix legacy hex code parsing not working, courtesy of Warriorrrr with PR #6176.
  • Use translatable over direct translation in BaseCommand, courtesy of Warriorrrr with PR #6172.
  • Simplify parameters used for TownCommand title & surname methods, courtesy of Warriorrrr with PR #6171.
0.98.3.8
  • Fallback to another Vault chat implementation if an invalid one is detected, courtesy of Warriorrrr with PR #6155.
  • Fix new reference file creation not working, courtesy of Warriorrrr with PR #6156.
  • Use getPlayerExact for resident#getPlayer, courtesy of Warriorrrr with PR #6154.
0.98.3.7
  • Alter CooldownTimerTask to accept strings alongside the pre-configured enum, allowing for third-party plugins to create simple cooldowns.
  • Use FontUtil's minecraftfont constant for bookfactory, courtesy of Warriorrrr with PR #6133.
  • Fix towny.command.plot.asmayorinunowned permission node not working for /plot nfs, due to area selection.
  • New Config Option: new_world_settings.are_new_world_claimable
    • Default: true
    • Are new worlds claimable by default?
    • Setting this to false means that Towny will still be active but no land can be claimed by towns.
  • Stop removing title/surname when nation is deleted, courtesy of partydev with PR #6136.
  • Prevent axolotls from targeting protected mobs, courtesy of Akiranya with PR #6140. (First-Time Contributor!)
  • Add colors class changes from minimessage branch, courtesy of Warriorrrr with PR #6132.
  • Replace Component.texts with alternatives in formatter, courtesy of Warriorrrr with PR #6134.
  • Fix missing outlaws-cannot-spawn-to-towns feature that used to exist.
  • Fix /towny map big kicking players in rare cases, courtesy of Warriorrrr with PR #6151.
  • Remove lang file versions, courtesy of Warriorrrr with PR #6146.
  • Remove instances of legacy making it into components, courtesy of Warriorrrr with PR #6141.
  • Replace ChatColor.stripColor uses with Colors.strip, courtesy of Warriorrrr with PR #6143.
  • Add a catch to Account's constructor, courtesy of Warriorrrr with PR #6144.
  • Adoption of MiniMessage throughout the remaining codespaces, courtesy of Warriorrrr with PR #6142!
    • As of this moment, all messaging is using minimessage. All language strings can accept MiniMessage tags and,
    • Hex is available everywhere in just about any tag style you can imagine.
    • If you have previously been using hex gradients you might have to update your tags to the MiniMessage way of things.
0.98.3.6
  • Make it possible to use Unicode symbols in the ASCII maps.
  • Make unconfigurable map symbols configurable.
  • New Config Options:
    • ascii_map_symbols.home
      • Default: "H"
      • The character used for the home symbol.
    • ascii_map_symbols.forsale
      • Default: "$"
      • The character used for plots which are forsale.
    • ascii_map_symbols.wilderness
      • Default: "-"
      • The character used for plots which are unclaimed.
  • Fix many ArrayIndexOutOfBoundsExceptions in the /ta town NAME command.
    • Progress towards #6120.
  • Add status screen changes from minimessage branch, courtesy of Warriorrrr with PR #6090.
  • API: Add NewResidentEvent, courtesy of PestoNotPasta with PR #6121.
  • Big refactor on TownCommand, making use of newer methods and making the code more readable.
  • API: Add WorldCoord#getCardinallyAdjacentWorldCoords
    • Returns a List of WorldCoords directly N, E, S, W from the WorldCoord.
  • Clean up edgeblock test in TownCommand.
  • Add version numbering to the database.yml.
  • Capitalize the returned value of the %townyadvanced_player_plot_type% placeholder.
  • Prevent towns and nations being named with only underscores.
  • Fix /ta town new NAME MAYOR not being able to be run from console.
  • API: Add new outlaw add/remove events.
    • TownOutlawAddEvent
    • TownOutlawRemoveEvent
    • Cancellable events that are thrown when a town is modifying who is outlawed.
0.98.3.5
  • Add Translator#component, courtesy of Warriorrrr with PR #6088.
  • Add component support for status screen events, courtesy of Warriorrrr with PR #6091.
  • Allow removing metadata by key, courtesy of Warriorrrr with PR #6089.
  • Simplify permission-checking code with NoPermissionException.
  • Add WorldCoord#getChunks, courtesy of Warriorrrr with PR #6098.
  • Fix max_distance_between_homeblocks config setting being triggered when there are no towns yet.
  • Fix plot info command not being usable in wilderness, courtesy of Warriorrrr with PR #6104.
  • Rename town explosion methods, courtesy of Warriorrrr with PR #6102.
  • Add TownyComponents class, courtesy of Warriorrrr with PR #6105.
  • Make the ASCII map fully use components, courtesy of Warriorrrr with PR #6103.
  • Handle bold characters in titles using pixelwidth, courtesy of Warriorrrr with PR #6107.
  • Allow /plot set name to be used on plots in groups, courtesy of Warriorrrr with PR #6108.
  • Fix regression from 0.98.3.4 that resulted in some command output breaking due to #6078.
  • Apply new font-measuring to BookFactory, fixing potential Invalid Book Tag books being made.
  • Reflow TownyMessaging.
    • Re-directs TownyMessaging from having many end points for messages, into the sendMessage(Sender, String) method.
    • Plugins that want to cancel Towny events and prevent those events showing cancellation messages to the user should be able to do so.
0.98.3.4
  • Fix vehicles not being killed by lava, courtesy of Warriorrrr with PR #6044.
  • Make townyworld's trident strike list use uuid instead of eid, courtesy of Warriorrrr with PR #6043.
  • Add baltop as banned name, courtesy of Warriorrrr with PR #6046.
  • Fix messages from cancelled Nation ally adding and removal events not displaying to the command user.
  • Exclude transitive bukkit api dependency, courtesy of Warriorrrr with PR #6051.
  • Replace town/nation levels with records, courtesy of Warriorrrr with PR #6041.
  • Add upkeep comparator type, courtesy of Warriorrrr with PR #6042.
  • Add perm check to invalid comp type message, courtesy of Warriorrrr with PR #6054.
  • Fix using World#isRespawnAnchorWorks() which did not exist in 1.16.5 api.
  • Create our own wrapper impl, courtesy of Warriorrrr with PR #6075.
  • Add option to disallow numbers in town/nation names, courtesy of Warriorrrr with PR #6068.
  • Allow spaces to be used in town/nation rename commands, courtesy of Warriorrrr with PR #6067.
  • Make it easier to debug lang file formatting errors, courtesy of Warriorrrr with PR #6066.
  • Fix /t deposit & /n deposit running sync, courtesy of Warriorrrr with PR #6064.
  • Include the plot price in the /plot fs feedback message, courtesy of Warriorrrr with PR #6062.
  • Ensure player gets feedback message when setting a group for sale, courtesy of Warriorrrr with PR #6060.
  • Re-check group set cost after confirmation is accepted, courtesy of Warriorrrr with PR #6058.
  • Add admin town command upkeep toggle, courtesy of Gamer153 with PR #6052. (First-Time Contributor!)
  • New Command: /ta town NAME toggle upkeep
    • Toggles upkeep on or off for the given town.
  • Add null check to teleport listener, courtesy of Warriorrrr with PR #6077.
  • Add all subcommand to /t and /n withdraw and deposit commands, courtesy of Warriorrrr with PR #6081.
  • New Commands:
    • /t withdraw all - remove all money from the town bank.
    • /t deposit all - deposit all your money into the town bank.
    • /n withdraw all - remove all money from the nation bank.
    • /n deposit all - deposit all your money into the nation bank.
  • Update platform bukkit to 4.1.2, courtesy of Warriorrrr with PR #6079.
  • Update translatable with changes from MiniMessage PR, courtesy of Warriorrrr with PR #6078.
  • Add configurable plot type limits, courtesy of Warriorrrr with PR #6038.
    • Closes #5889.
    • If you want to limit plot types amounts per-town based on their town_level you will fill out the new section in this fashion:
      townBlockTypeLimits:
      - shop: 2
      - arena: 2
  • Automatic Config Edit: your config's town_level sections will have an empty townBlockTypeLimits: added.
0.98.3.3
  • Bump language files to 0.152.
  • Fix jailcells being able to be placed where a jailcell already exists.
  • Make the plot perm hud translatable.
  • Fix potential NPE in SelectionGUI.
  • Fix the back button on the switch/itemuse/allowedblocks GUIs not working from the first page.
  • Auto-supress event message if empty, courtesy of GNosii with PR #6028.
  • Add a command to manually override a town's TownLevel.
  • New Command: /ta town TOWNNAME settownlevel [#|unset]
    • Manually overrides a town's townlevel to a number, 1 through x, where x is the last townlevel.
    • unset subcommand removes the manual override and returns a town to using the normal townlevel based on resident count.
  • Add some int and money validations to reduce duplication in commands.
  • New Command: /ta town TOWNNAME giveboughtblocks [#|unset]
    • Command that lets the admin modify the number of purchased townblocks a town has.
    • unset subcommand removes all purchased townblocks from the town.
    • Use negative numbers to take purchased townblocks from the town.
    • Closes #6034.
  • Condense action bar and bossbar notification options into one, courtesy of Warriorrrr with PR #6033.
  • Add Runnable type to ConfigMigrator, courtesy of Warriorrrr with PR #6033.
  • New Config Option: notification.notifications_appear_as
    • Default: "action_bar"
    • This setting controls where chunk notifications are displayed for players.
    • By default, notifications appear in the player's action bar.
    • Available options: action_bar, chat, bossbar, or none.
  • Automatic Config Edit: previous notification setting will be migrated to the new home: notification.notifications_appear_as
  • Add unclaimEntityTypeDelete to TownyWorld.
    • Allows Towny to delete all Entities of a given type from a TownBlock when it is unclaimed by a town.
    • Closes #5953.
  • New Config Options:
    • new_world_settings.plot_management.entity_delete.enabled
      • Default: false
    • new_world_settings.plot_management.entity_delete.unclaim_delete
      • Default: "ENDER_CRYSTAL"
      • These entities will be deleted upon a plot being unclaimed
0.98.3.2
  • Add Resident#getAccountOrNull, courtesy of Warriorrrr with PR #6006.
    • Potentially fixing an issue when Accounts are being renamed.
  • API: Add ChunkNotificationEvent
    • Cancellable event that lets other plugins alter Towny's ChunkNotifications.
    • Closes #6009.
  • Add a small delay before we start the DrawSpawnPointsTask, because one server got a ConcurrentModificationException.
  • New Placeholders:
    • %townyadvanced_daily_town_per_plot_upkeep% - Shows the amount of upkeep paid per-plot by a Town.
    • %townyadvanced_daily_town_overclaimed_per_plot_upkeep_penalty% - Shows the penalty paid per-plot by a Town.
    • %townyadvanced_daily_town_upkeep_reduction_from_town_level% - Shows the percentage that a Town's upkeep is reduced by the TownLevel's upkeepModifier, or if the player has no Town what a 1 player town would receive.
    • %townyadvanced_daily_town_upkeep_reduction_from_nation_level% - Shows the percentage that a Town's upkeep is reduced by the NationLevel's nationTownUpkeepModifier, or if the player has no Nation what a 1 player town would receive if they had a nation.
    • %townyadvanced_daily_nation_per_town_upkeep% - Shows the amount of upkeep paid per-town by a Nation.
    • %townyadvanced_daily_nation_upkeep_reduction_from_nation_level% - Shows the percentage that a Nation's upkeep is reduced by the NationLevel's upkeepModifier, or if the player has no Nation what a 1 player town would receive if they had a nation.
    • %townyadvanced_town_merge_cost% - Shows the base cost to merge a town.
    • %townyadvanced_town_merge_per_plot_percentage% - Shows the percentage of the TownBlock claim price that the merging Town will have to pay in order to do a merge.
    • %townyadvanced_town_reclaim_cost% - Shows the cost to reclaim a town.
    • %townyadvanced_town_reclaim_max_duration_hours% - Shows the maximum number of hours a town can be ruined before it is deleted.
    • %townyadvanced_town_reclaim_min_duration_hours% - Shows the minimum number of hours a town can be ruined before it can be reclaimed.
    • %townyadvanced_townblock_buy_bonus_price% - Shows the base price of buying a TownBlock using /t buy bonus.
    • %townyadvanced_townblock_claim_price% - Shows the base price of claiming a TownBlocking using /t claim.
    • %townyadvanced_townblock_unclaim_price% - Shows the base price of claiming a TownBlocking using /t unclaim.
    • %townyadvanced_outpost_claim_price% - Shows the price of claiming an outpost using /t claim outpost.
  • New Config Option: economy.bankruptcy.neutrality.can_bankrupt_towns_pay_for_neutrality
    • Default: true
    • If a town is bankrupt can they still pay for neutrality?
    • Closes #6017.
  • Fix admins being unable to teleport out of Towns in which they are outlawed.
  • Adapt to PlaceholderAPI no longer parsing colours.
  • Automatic Config Edit:
    • ,OAK_CHEST_BOAT will be added to your protections.switch_ids list.
    • This will make all chest boats require switching perms to open/enter.
    • New configs will have OAK_CHEST_BOAT included in the switch_ids list.
  • Remove old tc, nc tab completes from /res set mode.
  • Fix WorldCoord#loadChunks and #unloadChunks from being called async.
0.98.3.1
  • Fix /t outpost generating a array index out of bounds.

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.

MrLoganoMomshroomCobrex1KarlOfDutyscatterspellTheFlagCourier
gerardvanschipDrprofLuigiTobzaSmallSansSerifTheNyloxtrevor1097
benevolent2012Scottlander100bretomartEnvyEnfysJustinDevBcigaming
KeNickGongMilesBHuffpebblehostBamBamTheEggmanNoikzGamingKali0033
TakeoRenkaMille12313SkapMCJqnniesLemuridaeeReEvadere
qckcatroflmarvbeabuenodevLoJoShobenjamin1313ThePontificate
AllieDragonTegulaThePigKjellWolfCalestonDynamite99TuckerAndrews3
darthpetiCboxheroWillysHubAgalothLaBoulangerieEblyss
BurgBoiakup001Intrabit71finder1793mattematti2gladmountain
zekeparihavencraftmcBloc-kSW1D3RSK1PeskdtxSTORMYxSHM
DantexdeFauultySpellRenoldHenoldAnachroSoft0xBitMCLightNing002
Valerie2308ethsmithWextraDownsurgelukemangoethanic17
Chibby9607RulaAshvureKelbbieHerbDashwellKaiserSergioPh4i1ur3
perzues69ConHNationamaxtxDuergurUnitedLandsTuteee
TRLWeissilllliyastjdingsAldinaMappingshiaki-66papaj3
CrypticBladesdagobertdu94-YTFilthyCasualOfficialThatNPCEcoSMPRFSMassacre
SemisolTheeno74NotOxymoronicDarklomCoconutFan123serialrain
TheDelusionedF1amireCyricliIsRadItzXPurpleXMrQuackiosLuciusred
and 16 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 .jar file in the Assets section below: