Skip to content

Improve NameValidation checks for banned names#8133

Merged
LlmDl merged 2 commits intoTownyAdvanced:masterfrom
Veyronity:improve/namevalidation-isbannedname
Mar 9, 2026
Merged

Improve NameValidation checks for banned names#8133
LlmDl merged 2 commits intoTownyAdvanced:masterfrom
Veyronity:improve/namevalidation-isbannedname

Conversation

@Veyronity
Copy link
Copy Markdown
Contributor

@Veyronity Veyronity commented Mar 7, 2026

Description:

Fix NameValidation#isBannedName being a hardcoded set of names. It now imports directly from the Town & Nation command tabcompletes, as well as checking for addon commands from the TownyCommandAddonAPI

Addon commands are added to the list each time the validation method is called. If this is an issue, maybe some kind of listener registry can be added, where the list is updated when addon commands are added/removed


  • I have tested this pull request for defects on a server.

By making this pull request, I represent that I have the right to waive copyright and related rights to my contribution, and agree that all copyright and related rights in my contributions are waived, and I acknowledge that the TownyAdvanced organization has the copyright to use and modify my contribution under the Towny License for perpetuity.

Also directly import the town & nation commands' tabcomplete rather than being hardcoded, better for future updates
@Veyronity Veyronity changed the title Improve/namevalidation isbannedname Improve NameValidation checks for banned names Mar 7, 2026
@LlmDl
Copy link
Copy Markdown
Member

LlmDl commented Mar 7, 2026

It would be nice if you could personally test this. If you have make sure you're checking the box saying you've tested it.

@Veyronity
Copy link
Copy Markdown
Contributor Author

Tested

@LlmDl LlmDl added this to the 0.103.0.0 milestone Mar 7, 2026
@LlmDl LlmDl merged commit 828240c into TownyAdvanced:master Mar 9, 2026
1 check passed
LlmDl added a commit that referenced this pull request Mar 9, 2026
courtesy of GoodrichDev with PR #8119.
    - When delete_old_residents.enable, only_remove_town, and
only_remove_claim_count are all true (and delete_only_townless is
false),
      residents who are offline longer than deleted_after_time no longer
count toward ratio-based max town blocks.
    - Resident data is kept: purge skips removing town/deleting
residents in this mode.
  - New Config Option:
resident_settings.delete_old_residents.only_remove_claim_count
    - Default: false
    - When true (and only_remove_town is true) residents are kept and
only stop counting toward town claim limits after deleted_after_time.
  - Add /ta resident set for lastonline/registered with timestamp
validation, courtesy of GoodrichDev with PR #8120.
  - New Command: /ta resident <resident> set registered <timestamp>
    - Sets the resident registered time with the timestamp being a long.
  - New Command: /ta resident <resident> set lastonline <timestamp>
    - Sets the resident lastonline time with the timestamp being a long.
  - Bump org.bstats:bstats-bukkit from 3.1.0 to 3.2.1.
  - Add option to consider nation enemies as town outlaws, courtesy of
Captain-S0L0 with PR #8132. (First-Time Contributor!)
  - New Config Option: global_town_settings.consider_enemies_outlaws
    - Default: false
    - If set to true, when a town is in a nation any player in another
nation that the town's nation considers enemies will be considered an
outlaw in that town.
  - Improve NameValidation checks for banned names, courtesy of
Veyronity with PR #8133.
    - Prevents Towns and Nations being named with subcommands of /town
and /nation.
    - Replaced hard coded list with auto-populating list, which now also
includes TownyCommandAddonAPI subcommands.
  - Add cooldown on how often towns & nations can request a merge with
the same target, courtesy of Veyronity with PR #8134.
  - New Config Option: global_town_settings.merge_request_cooldown_time
    - Default: 60
    - Number of seconds that must pass before a town can send a merge
request to the same target.
  - New Config Option:
global_nation_settings.merge_request_cooldown_time
    - Default: 60
    - Number of seconds that must pass before a nation can send a merge
request to the same target.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants