-
-
Notifications
You must be signed in to change notification settings - Fork 353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expanding Status Screens #3548
Expanding Status Screens #3548
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs additions added to sqlschema class.
…extra columns to SQL_Schema
@Emperor-Koala this is awesome and is definitely needed, I was thinking that instead of having a separated logic for both metadata and the status fields, you could extend |
@suneettipirneni I tried that at first, but I ran into the issue of needing to still store them separately. Though thinking about it now, I could still make it work. All I would need to do is have |
@Emperor-Koala |
Here's a crude example: |
@suneettipirneni that actually makes a lot more sense than what I was thinking. And doing it that way makes it way simpler. I've written all the code to make it part of the metadata. Once I get the chance, I'll test it out and make sure it works the same way. |
I have switched up the system so that it is included as part of the metadata system. When a status screen is selected, it checks if the TownyObject in question has metadata, then finds all the metadata fields with labels. Those are then appended to the status screen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing a quick look over
|
||
public IntegerDataField(String key, Integer value, String label) { | ||
super(key, CustomDataFieldType.IntegerField, value, label); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main reason is so that it can be defined quickly when setting up the field in one line rather than requiring two lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok I didn't see that you kept the older constructor as well, that's fine
|
||
public IntegerDataField(String key, Integer value, String label) { | ||
super(key, CustomDataFieldType.IntegerField, value, label); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main reason is so that it can be defined quickly when setting up the field in one line rather than requiring two lines.
Something else I should mention is that in switching to using the metadata, this would close ticket #3543 since it moves metadata to be part of |
It should work for townblocks, thats what it was initially made for. |
I can add that in a few minutes. Since townblocks already have a metadata implementation, I should just need to add one line of code to get it to show labels the same way. |
This will be a little messy until I make improvements to the metadata structure, but for now this will do |
I was wondering about that. I figured it would be fine since I noticed that you are planning on using a new Metadatable system, which would consolidate this down to one function instead of the two functions that do the exact same thing. |
Yup, an interface is needed since we're branching the system out. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just two really minor bits to change, then this will be merged. Nice work.
@Emperor-Koala If you could give me a bit of a blurb to add to the Changelog for this commit that would be helpful. Your original PR comment is probably a bit out-dated. |
“Added the ability to expand status screens for through the use of metadata. By giving the metadata field a label, it will then be displayed on the status screen for any object it is added to.” |
- Added the ability to expand status screens for through the use of metadata. By giving the metadata field, a label, it will then be displayed on the status screen for any object it is added to. - Added metadata to worlds, nations and residents. - Closes ticket #3543.
Release contains: - Towny 0.96.0.0 - TownyChat 0.68 - TownyNameUpdater 4.0 > Welcome to Towny 0.96.0.0. This release has some nice features added and a mountain of fixes. Please remember that when you're updating your config files, the only changes you *must* make are directly below in the REQUIRED CHANGES section. All of the rest of the config additions will be added auto-magically by Towny with their default settings. Important links can be found at the bottom of this page, along with the actual downloads in the Assests list. > > This Release marks the addition of two developers to the TownyAdvanced organization, Siris & Silverwolfg11. You will find many great contributions in the changelog below. If you haven't said hello to them on the [Discord](https://discord.gg/U6FA8CG) yet, consider joining us there. - REQUIRED CONFIG.YML CHANGE: - Villager should be added to the protection.mob_types list. - REQUIRED CONFIG.YML CHANGE: - Remove LECTERN from the protections.switch_ids list in the config. - This will make it possible for players to read books on lecterns without having switch perms. - Players will still be unable to take the book (unless they have destroy permissions in the plot.) - REQUIRED TOWNYPERMS.YML CHANGE: - towny.town.spawn.ally should be added to the default nation rank. - adding this will mean that when the config's global_town_settings.allow_town_spawn_travel_ally will work properly when set to true. - REQUIRED: amending towny\data\worlds\WORLDNAME.txt files - All existing Towny\data\worlds\WORLDNAME.txt files should have their plotManagementDeleteIds lines changed to WHITE_BED,ORANGE_BED,MAGENTA_BED,LIGHT_BLUE_BED,YELLOW_BED,LIME_BED,PINK_BED,GRAY_BED,LIGHT_GRAY_BED,CYAN_BED,PURPLE_BED,BLUE_BED,BROWN_BED,GREEN_BED,RED_BED,BLACK_BED,TORCH,REDSTONE_WIRE,ACACIA_SIGN,BIRCH_SIGN,DARK_OAK_SIGN,JUNGLE_SIGN,OAK_SIGN,SPRUCE_SIGN,WOODEN_DOOR,ACACIA_WALL_SIGN,BIRCH_WALL_SIGN,DARK_OAK_WALL_SIGN,JUNGLE_WALL_SIGN,OAK_WALL_SIGN,SPRUCE_WALL_SIGN,STONE_PLATE,IRON_DOOR_BLOCK,WOOD_PLATE,REDSTONE_TORCH_OFF,REDSTONE_TORCH_ON,DIODE_BLOCK_OFF,DIODE_BLOCK_ON - All existing Towny\data\worlds\WORLDNAME.txt files should have their plotManagementIgnoreIds lines changed to GOLD_ORE,LAPIS_ORE,LAPIS_BLOCK,GOLD_BLOCK,IRON_ORE,IRON_BLOCK,MOSSY_COBBLESTONE,TORCH,SPAWNER,DIAMOND_ORE,DIAMOND_BLOCK,ACACIA_SIGN,BIRCH_SIGN,DARK_OAK_SIGN,JUNGLE_SIGN,OAK_SIGN,SPRUCE_SIGN,ACACIA_WALL_SIGN,BIRCH_WALL_SIGN,DARK_OAK_WALL_SIGN,JUNGLE_WALL_SIGN,OAK_WALL_SIGN,SPRUCE_WALL_SIGN,GLOWSTONE,EMERALD_ORE,EMERALD_BLOCK,WITHER_SKELETON_SKULL,WITHER_SKELETON_WALL_SKULL,SHULKER_BOX,WHITE_SHULKER_BOX,ORANGE_SHULKER_BOX,MAGENTA_SHULKER_BOX,LIGHT_BLUE_SHULKER_BOX,LIGHT_GRAY_SHULKER_BOX,YELLOW_SHULKER_BOX,LIME_SHULKER_BOX,PINK_SHULKER_BOX,GRAY_SHULKER_BOX,CYAN_SHULKER_BOX,PURPLE_SHULKER_BOX,BLUE_SHULKER_BOX,BROWN_SHULKER_BOX,GREEN_SHULKER_BOX,RED_SHULKER_BOX,BLACK_SHULKER_BOX,BEACON - Event War addition: town conquering: - If war.event.winner_takes_ownership_of_town is set to true when a town knocks another town out of the war, the losing town will join the winning town's nation. - The losing town will enter a conquered state and be unable to leave the nation until the conquered time has passed. - Add conquered & conqueredDays to Towns. - A town's conqueredDays will decrease each Towny new day. - Closes ticket TownyAdvanced#3477. - Placeholder added: %townyadvanced_nation_tag_town_formatted% - Shows the nation tag and the full town name. - If nation tag is not set, only the town name is shown. - Plot PVP now takes priority over the Town setting. - This means that PVP can be toggled on in plots while the rest of the Town remains PVP free. - The PVP toggle cooldown means this cannot be abused. - Add permission nodes to /t list by x and /n list by x commands. - You can negate the new child nodes to limit which ways players are allowed to sort towns. - Made most of the unprefixed messages Towny emits use prefixes, either [Towny], [Townname] or [Nationname]. - Add town_block_size to bstats charts. - Made the town & nation levels' town, nation, capital prefixes and postfixes support the & colour codes. - Add database load time to startup. - New Feature: Plot Groups, courtesy of Siris with PR TownyAdvanced#3578. - Group plots together, which can be named, sold, set with a uniform plot type, a uniform perm line. - Plot Groups which are claimed or unclaimed will have confirmation messages showing number of plots in a group, as well as cost. - Groups appear in the Chunk Notifications in white. - Already priced plots which are added to a group will increase the group price by the plot. - Closes ticket TownyAdvanced#472. - Confirmations can now be accepted/declined/confirmed/cancelled by clicking on the text if you use Spigot. - Courtesy of Siris with PRs TownyAdvanced#3631 + TownyAdvanced#3639 - Closes TownyAdvanced#3534. - Commands can still be used, clicking only for spigot servers, not craftbukkit servers. - New Feature: smart tab-completion of most Towny commands, courtesy of Siris with PR TownyAdvanced#3700. - Closes TownyAdvanced#3314. - QOL interface changes/redundancy removal, courtesy of Siris with PR - Flesh out .gitignore with OS specific (usually hidden) files, courtesy of Siris with PR TownyAdvanced#3706. - Expansion of Metadata: courtesy of Emperor-Koala with PR TownyAdvanced#3548. - Added the ability to expand status screens for through the use of metadata. By giving the metadata field, a label, it will then be displayed on the status screen for any object it is added to. - Added metadata to worlds, nations and residents. - Closes ticket TownyAdvanced#3543. - Added remaining ExtraFields for metadata, courtesy of Emperor-Koala with PR TownyAdvanced#3575. - Implementation of a trie data structure for residents, towns, and nations; courtesy of stzups & Siris with PR TownyAdvanced#3712. - Added tab completion for /invite commands, courtesy of stzups with PR TownyAdvanced#3705. - Updated & smarter /nation command tab-completion, courtesy of stzups with PR TownyAdvanced#3710. - Updated & smarter tab-completion for remaining commands, courtesy of stzups with PR TownyAdvanced#3714. - Object Allocation on player move reduced by Silverwolfg11 in PR - TownyPermission data rewritten to a 2d boolean array, courtesy of Silverwolfg11 with PR TownyAdvanced#3600. - Update Reserve API, courtesy of thecreatorfromhell, with PR TownyAdvanced#3612. - /plot group [add|new|create] [groupname] - Creates a plot group where a player is standing. - Also adds plots to existing an existing group. - /plot group remove - Removes the plot you're standing in from its group. - /plot group rename [newname] - Renames a plot group. - /plot group set perm .... - Used to set the perm line of a group you are standing in. - /plot group set [townblocktype] - Used to set a group of plots to a shop, farm, embassy, etc. - /plot group toggle [fire|mobs|pvp|explosions] - Set the toggleable settings for townblocks across the entire group. - /plot group [forsale|fs] [price] - Sets the group for sale at the set price. - /plot group [notforsale|nfs] - Sets the group not for sale. - /townyadmin nation new {name} {capital} - Creates a nation for the specified town. - Does not charge the town money. - war.event.winner_takes_ownership_of_town - default: false - If set to true when a town knocks another town out of the war, the losing town will join the winning town's nation. - The losing town will enter a conquered state and be unable to leave the nation until the conquered time has passed. - war.event.conquer_time - default: 7 - Number of Towny new days until a conquered town loses its conquered status. - notification.town_names_are_verbose - Default: true - When set to true, town's names are the long form (townprefix)(name)(townpostfix) configured in the town_level section. - When false, it is only the town name. - notification.notifications_appear_in_action_bar - default: true - This setting only applies to servers running spigot, paper or bungeecord. - On servers using craftbukkit.jar the notifications will always appear in the chat. - When set to false the notifications will appear in the chat rather than the action bar. - Closes TownyAdvanced#3636. - Changed required permission node for using /ta from towny.admin to towny.command.townyadmin - Fixes scenario where an admin has other /townyadmin permission nodes but not towny.admin. - towny.command.townyadmin - Used to view the /townyadmin screen. - Gateway permission node to all other townyadmin sub-commands - Child node of towny.command.townyadmin.* - towny.command.townyadmin.nation.new - Allows the use of the /ta nation new {name} {capital} command. - Child nodes of towny.command.nation.list, no townyperms.yml update required. - towny.command.nation.list.residents - towny.command.nation.list.towns - towny.command.nation.list.open - towny.command.nation.list.balance - towny.command.nation.list.name - towny.command.nation.list.townblocks - towny.command.nation.list.online - Child nodes of towny.command.town.list, no townyperms.yml update required. - towny.command.town.list.residents - towny.command.town.list.open - towny.command.town.list.balance - towny.command.town.list.name - towny.command.town.list.townblocks - towny.command.town.list.online - Added TownPreUnclaimEvent - Useful for getting the TownBlock object that will be unclaimed. - Cancellable but probably not a good idea. - Create ResidentUtil for resident-related methods. - Added TownyMessaging.sendPlainGlobalMessage() which doesn't use the [Towny] prefix. - Create resident.getNamePostfix() & resident.getNamePrefix() for gather pre/postfixes of kings and mayor residents - Reorganization of TownyFormatter, courtesy of Siris with PR TownyAdvanced#3715. - Deprecates a couple things that other plugins are unlikely to be using, notes were made for new replacements. - API: PreNewTownEvent, courtesy of Siris with PR TownyAdvanced#3606. - Cancellable event. - Eco backend refactor courtesy of Siris with PR TownyAdvanced#3663. - Courtesy of Emperor-Koala with PR TownyAdvanced#3566: - API: - NationPreAddEnemyEvent - Cancellable - NationAddEnemeyEvent - NationPreRemoveEnemyEvent - Cancellable - NationRemoveEnemyEvent - New methods to get the cells under attack in Flag War. - Pom updates for javadocs courtesy of FlagCourier with PR TownyAdvanced#3672. - API: preNewDayEvent, courtesy of silverwolfg11 with PR TownyAdvanced#3770. - Closes TownyAdvanced#3765. - Fixed: Villagers protected from damage by other Entities when not configured to be protected. - Pillagers were unable to harm villagers, even when villagers were not in the protected list. - Closes TownyAdvanced#3580. - Fix keep inventory and keep experience features. - Closes ticket TownyAdvanced#3551. - Fix edge-case scenario where revoking invites couldn't be done because we were matching the wrong player. - Closes TownyAdvanced#3635. - Fix message shown when a player tries to set their nation spawn in the wilderness. - Closes TownyAdvanced#3640. - Fix for trees and mushrooms growing into plots they shouldn't. - Closes TownyAdvanced#3641. - Fix /ta set throwing error. - Closes ticket TownyAdvanced#3565. - Fixed explosion regen deleting the contents of BlockInventoryHolders (chests, furnaces, hopper and more.) - Closes tickets TownyAdvanced#3569, TownyAdvanced#3570. - Fix Mysql databases not creating plotblocksnapshot files. - Closes TownyAdvanced#3589. - Fix WARZONE status overriding the allow_block_griefing: false setting. - Closes TownyAdvanced#3577. - Fix Mysql databases not purging fallen towns. - Closes TownyAdvanced#3610. - Fix town_plotbased_upkeep_minimum_amount not working when town_plotbased_upkeep_affected_by_town_level_modifier is set to false. - Closes TownyAdvanced#3616. - Fix renaming towns which have 0 plot groups. - Closes TownyAdvanced#3626. - Fix /ta town {townname} {command} not showing anything helpful when the {command} used is not a valid command. - Closes TownyAdvanced#3667. - Fix ranks not being capitalized on /res, /town and /nation screens. - Closes TownyAdvanced#3669. - Fix for single-town nations when the winner_takes_ownership_of_town is true. - Closes TownyAdvanced#3678. - Removed unneeded permission check for /n spawn. - towny.command.nation.spawn node is no longer tested for. - towny.nation.spawn.* nodes still remain in use. - Fix CombatUtil not disabling PVP in townblocks where PVP is off, when PVP is still on in the town. - Towns will no longer override PVP settings for townblocks. - The below 3 fixes were required after adjusting this. - Fix lack of message when an unjailed player uses /res jail foo. - Closes TownyAdvanced#3726. - Fix revert-on-unclaim not respecting the PlotManagementSpeed set in the config. - Closes TownyAdvanced#3759. - Fix Towny moving Citizens NPCs to server spawn when Towny loads in safe mode. - Closes TownyAdvanced#3760, TownyAdvanced#3773. - Fix missing translation. - Closes TownyAdvanced#3777. - Fix using /plot perm in the wilderness just returning '[Towny] Not registered' message. Towny will now display the World status page. - Fix ChunkNotification not displaying change of PVP status when moving between two townblocks with differing PVP settings. - Fix /plot perm hud not displaying PVP setting for plots correctly. - Fix for eventwar war participants message using two lines when it ought to only use one. - Fix eventwar wars that don't start properly leaving remainders in the warringsTowns and warringNations. - Fix WARZONE status being given to townblocks when war is not active. - Improve debug messaging on flatfile database load. - Fix plot groups whose town doesn't exist anymore causing safe mode. - Translated cannot-kick-that-resident strings. - Fix bug with /plot group set {plottype} - Disallowed the use of /plot group set jail, jails can only be set before grouping. - Fix plot groups not loading after server stop and start. - Clear out warringNations & warringTowns on war end. - Make sure world is properly handled when a town renames itself. - Fix /ta plot ? help screen. - Fix Null message when plots were claimed/unclaimed. - Fix error message for the /plot fs when used on a plot group. - Fix false-positive being shown when using /plot nfs on a plot group. - Fix error shown in console when entering a plot that is for sale but is not part of a plot group. - Fix successful message when economy.new_expand.price_claim_townblock_refund is set to a negative value. - Fix no message being shown when an invalid subcommand of "/plot group" is used. - Fix /ta rename not passing on NPC status to residents. - Fix /plot set perm showing the opposite PVP setting in its final output. - Fix towny.admin players being limited by pvp cooldown timer. - Fix town/nation permissions missing on the /plot perm hud scoreboard. - Fix NPE shown when player is using /plot perm hud, but has another plugin's scoreboard show up. - Fix missing town/nation key values on /plot perm hud. - Fix missing townblock type on /plot perm hud. - Fix /n new name with out underscores not parsing spaces into underscores. - Fix for revoking town invites on a player not actually revoking the invite. - Fix null response when sending an invite to an offline player. - Fix lag caused by /t list and /n list. - Changed message shown at the end of the new day to print in the log regardless of debug mode being true. - Readd economy lookups for town and nation banks, deprecated. - Fix for potentially causing too many file open exceptions on servers with large databases and small Open File Limits. - Fix bug where renamed towns and nations would lose their bank balances, introduced in 0.95.2.13. - Fix death_payments feature not working on mob-kills of players. - Fix PlayerCommandPreprocessEvent error seen in log when players chat while Towny is in safe mode. - Fix edge-case scenario where a townblock could be null when listing outposts. - Fix DailyTimerTask not resetting cosmetic list of removedTowns, removedNations, totalUpkeeps. - Fix towns being kicked from a nation for non-payment of taxes being included in the removedTowns. - Fix possible NPE when Nation taxes were collected from towns. - Fix BED_BLOCK in the default config's new_world_settings.plot_management.block_delete.unclaim_delete list. - Fix Wither Skulls & Shulker Boxes not being in the new_world_settings.plot_management.revert_on_unclaim.block_ignore list. - Fix allowing /t buy bonus to be used when the config has using_economy: false. - Fix a couple missing options not showing under /plot set perm tab completion. - Fix for Towny not clearing a residents' modes when they quit. - Fix /ta set capital {townname} {nationname} not working. - Fix possibility of residents getting duplicate town and nation ranks. - Fix unhelpful debug messages when saving residents in sql. - Potential fix for /t and /n online commands not parsing their outputs nicely. - Fix Towny safe-mode induced via /ta reload still allowing Towny commands to be used. - Fix titles and surname losing their trailing and leading spaces. - Fix msg_changed_public in korean.yml not working. - Fix a couple missing child nodes for permissions in the plugin.yml. - Fix nether portals being created in areas the portal-creator cannot build, courtesy of Siris with PR TownyAdvanced#3745. - Stops 'portal griefing'. - Closes TownyAdvanced#3412. - Fix for spawners not reverting properly courtesy of Siris with PR - Closes TownyAdvanced#3627. - Fix for plot groups sometimes throwing a CommandException, courtesy of Siris with PR TownyAdvanced#3597. - Closes TownyAdvanced#3601. - Fix Ally invite sending to already allied nations, courtesy of Siris with PR TownyAdvanced#3755. - Closes TownyAdvanced#3749. - Fix for 0.95.2.8 not running on Craftbukkit servers, courtesy of Siris with PR TownyAdvanced#3642. - Fix NPE when '/plot group add' was used without any name, courtesy of Siris with PR TownyAdvanced#3630. - Fix for /ta town meta not working on towns the admin doesnt own, courtesy of Siris with PR TownyAdvanced#3549. - Fix for town invites from nation, courtesy of Siris with PR TownyAdvanced#3653. - Fix logger, courtesy of ArticDive/Siris with PR TownyAdvanced#3664. - Readd pay() and collect() to Towns and Nations, deprecated, courtesy of Siris with PR TownyAdvanced#3697. - Fix any *possible* NPE's in NameUtil, courtesy of Siris with PR - Fix flagwar not transferring TownBlocks correctly, courtesy of Siris with PR TownyAdvanced#3744. - Remove metadata raw access warnings, courtesy of Siris with PR - Pom and pom_deb updates by TheFlagCourier with PR TownyAdvanced#3632. - Javadocs should only build on the install phase. - Github actions should again function properly. - Fix for javadocs courtesy of TheFlagCourier with PR TownyAdvanced#3655. - Github Actions workflow adjustment courtesy of TheFlagCourier with PR TownyAdvanced#3654. - Fix 'msg_modes_set' in ResidentCommand not being used for translation, courtesy of TheFlagCourier with PR TownyAdvanced#3658. - Fix for more tab completions, courtesy of stzups with PR TownyAdvanced#3734. - Closes TownyAdvanced#3733. - Fix for root cause of issue solved with TownyAdvanced#3724, courtesy of stzups with PR TownyAdvanced#3725. - Fix for Tab Completion leaving out some towns/nations/players, as well as caring about upper/lower-case letters, courtesy of stzups with PR TownyAdvanced#3728. - Further optimize Trie used in tab completion, courtesy of stzups with PR TownyAdvanced#3739. - Fixes for Nation_Zones not working/not giving capitals their proper bonus, courtesy of Goosius with PR TownyAdvanced#3567. - Missing apostrophe in error message fixed by Deuphic with PR TownyAdvanced#3645. - Continue != break, courtesy of creatorfromhell with PR TownyAdvanced#3690. - Fix to the preventPVP function, allowing for towns with PVP off to set PVP true on individual plots, courtesy of silverwolfg11 with PR - Fix plot toggle tab-completion and remove unused code, courtesy of silverwolfg11 with PR TownyAdvanced#3750. - Fix townyworld set messages for console not being used, courtesy of silverwolfg11 with PR TownyAdvanced#3757. - Remove redundant arraylist creation for tab-completion, courtesy of silverwolfg11 with TownyAdvanced#3756. - Fix a small typo, courtesy of introvertism with PR TownyAdvanced#3736. - Bump language files to 0.76 - New Language: Portuguese (Brazilian) Translation, courtesy of BannerGames with PR TownyAdvanced#3603. - use pt-br.yml as your language in the config to enable. - New Language: Taiwanese courtesy of shou692199 with PR TownyAdvanced#3689. - set language: zh-TW.yml in config to use. - PT-BR.yml updated by BannerGames with PR TownyAdvanced#3647. - Korean.yml updated by wolfwork with PR TownyAdvanced#3651. - Fix french.yml not parsing. - French translation updated by Mitsu13Ion with PR TownyAdvanced#3614 & TownyAdvanced#3680. - Chinese translation updated by qsefthuopq with PR TownyAdvanced#3703. - German.yml updated to 0.75 by enterih. v0.64: - Removed "[Towny] Modes set: " line seen when a player changes channels. v0.65: - Altered behaviour: - Previously using the channel command for the channel you're already speaking in would move you to the next default channel, or if non was found, the next global channel. - Ex: While being in townchat you use "/tc" you could find yourself in globalchat. - Now you will be told you're already in the channel you just used the command to enter into. - Fixed: GLOBAL channelTypes (default: general and local channels) are no longer formatted by TownyChat if modify_chat.enabled is false. - DEFAULT, TOWN, NATION & ALLIANCE types are still formatted by Towny when modify_chat.enable is false. - Closes: TownyAdvanced#3568 v0.66: - Fix for removed TownyFormatter methods, required for Towny 0.95.2.18 and newer. v0.67: - Fix for TownyChat overwriting towny_default_modes player modes on login. v0.68: - Updated comments to reflect change with toggling chats, courtesy of GenSecrets with PR TownyAdvanced#25. sponsor](https://github.com/sponsors/LlmDl) <blockquote> <a title="Towny Changelog" href="https://raw.githubusercontent.com/TownyAdvanced/Towny/master/resources/ChangeLog.txt" target="_blank" rel="noopener">Click Here for a full changelog</a> <a title="Install Guide" href="https://github.com/TownyAdvanced/Towny/wiki/Installation">Towny Install Guide</a> <a title="Updating Towny" href="https://github.com/TownyAdvanced/Towny/wiki/Updating-Towny">How to Update and Existing Towny</a> <a title="Permission Nodes" href="https://github.com/TownyAdvanced/Towny/wiki/Towny-Permission-Nodes">Towny Permission Nodes</a> <a title="How Towny Works" href="https://github.com/TownyAdvanced/Towny/wiki/How-Towny-Works">How Towny Works</a>
I've added a system very similar to the metadata system already in place to allow for other plugins to add their own fields to the Nation/Town/Resident status screens.
The point is that sometimes developers expanding on Towny will keep track of some extra information, but they might not want to require users to know a separate command just to display a single piece of information. Instead, this allows developers of other plugins to be able to register information with Towny that will display with the rest of any information requested.
The status field types that have been added are:
Each type has been handled in TownyFormatter to have different properties when displayed.
All new functionality has been tested and does work as intended. This image here shows a simple test of adding at least one of each type of field to test that the color formatting is working as intended.