Add character card customization options #310
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements character card customization features that allow server administrators to control which fields appear on character cards, rename field labels, and set default values. This addresses the feature request in issue #XXX where users needed the ability to hide non-relevant fields (like race and religion on human-only servers) and customize field names (like changing "subculture" to "class" or "faction").
Problem
Server administrators had no way to customize character cards to fit their server's theme. For example:
This led to confusing character cards that displayed irrelevant information.
Solution
Added 17 new configuration options that allow complete customization of character cards:
Field Visibility (5 options)
Control which fields appear on character cards and in the help command:
cardShowRace,cardShowSubculture,cardShowReligion,cardShowAge,cardShowGenderField Labels (5 options)
Customize the display name for each field:
cardLabelRace,cardLabelSubculture,cardLabelReligion,cardLabelAge,cardLabelGenderDefault Values (5 options)
Set default values for new character cards:
cardDefaultRace,cardDefaultSubculture,cardDefaultReligion,cardDefaultGender,cardDefaultAgeExample Usage
Hide race and religion on a human-only server:
Use character classes instead of subcultures:
Use factions:
Changes
Documentation
Added comprehensive documentation:
CHARACTER_CARD_CUSTOMIZATION.md- Complete configuration guideFEATURE_SUMMARY.md- Feature overview with use casesVISUAL_EXAMPLES.md- Before/after examples for different configurationsconfig-example.yml- Example configuration fileBackward Compatibility
✅ All existing character cards work without any changes
✅ Hidden fields are still stored internally (data is preserved)
✅ Re-enabling fields shows existing data
✅ Default behavior unchanged (all fields visible with original labels)
✅ No migration required
Testing Recommendations
Closes #XXX
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
http://repo1.maven.org:80/maven2/com/github/Dans-Plugins/Mailboxes/v1.1/Mailboxes-v1.1.pomREDACTED, pid is -1(http block)hub.spigotmc.orgjitpack.io/usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Medieval-Roleplay-Engine/Medieval-Roleplay-Engine org.codehaus.plexus.classworlds.launcher.Launcher clean compile(dns block)repo.extendedclip.com/usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Medieval-Roleplay-Engine/Medieval-Roleplay-Engine org.codehaus.plexus.classworlds.launcher.Launcher clean compile(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.