COWMODSКаталог модов

PronounsAdvanced

Add some pronouns for your players w/ PAPI support!

Автор: cufufy4202обновлён 29 сент. 2026 г.
ДекорОбщение

Описание

This is PronounsAdvanced!

Originally forked from an old unmaintained plugin, this has been fully rebuilt from the ground up to help support servers and players who wish to share their identity!

Please keep in mind, I only program in my free time and this is beta software, expect bugs and issues but please report them so I may work on them!

Updated to work on 26.X servers!

Installation:

  • Download the latest file
  • Put it in your plugins folder
  • RESTART server, do not reload
  • Feel free to adjust the config.yml file if needed
  • In game you can run /pronouns admin reload to reload any configuration changes you make

Commands:

Alias: /pn

CommandDescriptionPermissionDefault
/pronounsBase commandpronouns.useeveryone
/pronouns view [player]Show your or another player's pronounspronouns.vieweveryone
/pronouns set <preset>Set a preset (he, she, they, it, all, or a custom preset from presets.yml)pronouns.seteveryone
/pronouns custom [pronouns]Set custom pronouns (subj/obj/det/pron/refl), or prompt in chatpronouns.customeveryone
/pronouns mode <mode>sets, any, ask, name, unsetpronouns.modeeveryone
/pronouns clearRemove your pronounspronouns.seteveryone
/pronouns menuOpen the inventory editorpronouns.seteveryone
/pronouns admin edit <player> set|mode|clear|custom …Edit any player (online or offline)pronouns.admin.editop
/pronouns admin exportExport all profiles to JSONpronouns.admin.exportop
/pronouns admin migrate <source> [--dry-run]Import v1 data (legacy-yaml, legacy-properties, legacy-mysql, pdc)pronouns.admin.migrateop
/pronouns admin reloadReload messages, presets and feature flagspronouns.admin.reloadop
/pronouns admin debugDiagnostic snapshotpronouns.admin.debugop

PlaceholderAPI

Details: All placeholders read from the in-memory cache only.

PlaceholderExample
%pronouns_display%she/her • they/them (mode text such as any is configurable)
%pronouns_mode%sets, any, ask, name, unset
%pronouns_subjective%she
%pronouns_objective%her
%pronouns_possessive%her (determiner)
%pronouns_possessive_pronoun%hers
%pronouns_reflexive%herself
%pronouns_be% / %pronouns_have%is / has (are / have for plural sets)
%pronouns_<n>_<field>%%pronouns_2_subjective% shows second set (legacy %pronouns_subjective_2% also works)
%pronouns_count%2

Thanks so much for checking out this program, it really means a lot :)

Галерея

Check and set your pronouns!See the list of pronouns included, or add your own!Included Debugging and dump logs!

Последние версии

Все версии →
beta

PronounsAdvanced 2.0.0

2.0.0
29 сент. 2026 г.55Minecraft: 26.3paper
Скачать
Что нового
# PronounsAdvanced V2: Major Rework - Removed old AI Generated picture and description and code blocks! Doing it all manually as I've learned and grown more :) - **Requires Java 25** instead of Java 17. - **Targets Paper 26.3** instead of older 1.21.x versions. - Split into proper **`pronouns-api`** and **`pronouns-paper`** Maven modules. - Replaced `plugin.yml` with **Paper's `paper-plugin.yml` + bootstrap system**. - Removed **Cloud Command Framework**. - Commands now use **native Paper Brigadier commands**. - Cleaner player command structure: - `/pronouns view [player]` - `/pronouns set <preset>` - `/pronouns custom` - `/pronouns mode` - `/pronouns clear` - `/pronouns menu` - `/pronouns admin ...` - `/pn` remains available as the short alias. - Removed old extra aliases such as `/pnp` and `/pnpaper`. ## GUI & Player Experience - Added a full **inventory GUI** for managing pronouns. - GUI supports: - Preset selection - Multiple pronoun sets - Custom pronouns - Pronoun ordering - Save/cancel - Pagination - GUI changes are **staged until Save**. - Closing or cancelling the GUI does not modify the profile. - GUI detects **stale edits** and prevents overwriting newer changes. - Preset GUI supports **27 presets per page** with previous/next navigation. - Added optional **Paper Dialog API** input for Java players. - Added private **chat-based custom pronoun input**. - Custom pronoun chat input is not broadcast to other players. - Added optional **Floodgate detection**. - Bedrock players automatically use the safe chat-input fallback. - Native Floodgate forms are **not currently implemented**. ## Pronoun Profile System - Replaced the old `List<PronounSet>` model with a proper immutable **`PronounProfile`**. - Added explicit profile modes: - `SETS` - `ANY` - `ASK_ME` - `NAME_ONLY` - `UNSET` - `Any`, `Ask`, and `Unset` are no longer fake they/them pronoun sets. - Added entirely new **Name Only** mode. - Pronoun sets now explicitly store: - Subject - Object - Possessive determiner - Possessive pronoun - Reflexive - Singular/plural grammatical agreement - Display name - Stable preset ID - Replaced the old `plural` boolean concept with explicit: - `SINGULAR` - `PLURAL` ## Presets & Custom Pronouns - Built-in presets remain: - he/him - she/her - they/them - it/its - Added administrator-defined custom presets through **`presets.yml`**. - Custom presets automatically work with: - `/pronouns set` - Tab completion - Admin editing - GUI preset selection - Built-in presets cannot be overwritten by custom presets. - Existing profiles remain valid even if their preset is later removed. - Added configurable custom-pronoun policy: - Maximum sets - Maximum field length - Unicode allowed/disabled - Blocked values - Enable/disable custom pronoun creation - Existing custom profiles remain readable even if custom creation is later disabled. ## Parser & Validation - Completely redesigned the pronoun parser. - Invalid input now produces structured errors. - **No more silent partial saves**. - If one set in a multi-set input is invalid, the entire input fails. - Still supports familiar formats: - `she/her` - `they/them` - `she/they` - `she/her;they/them` - Five-part custom pronouns - `:p` for plural agreement - `:s` for explicit singular agreement - Added centralized custom-pronoun validation. - Rejects: - Blank required fields - Control characters - Invalid delimiters - Oversized fields - Unicode and non-English pronouns remain supported by default. - Player input is always treated as plain text. ## Storage - **SQLite is now the default storage backend**. - Old `.properties` storage is no longer the recommended production backend. - SQLite uses a structured relational schema. - Profiles are no longer stored as one serialized slash/semicolon string. - SQLite stores: - Player UUID - Profile mode - Revision - Ordered pronoun sets - Individual grammatical forms - Added schema versioning. - Added transactional storage operations. - Added safe database shutdown. ## MySQL / MariaDB - Completely rebuilt MySQL support. - Uses modern **HikariCP** connection pooling. - Includes the MySQL JDBC driver in the final plugin JAR. - Added unique random server-instance IDs. - Removed the old hardcoded `pronouns_plugin_instance`. - Added profile revisions. - Added compare-and-swap conflict protection. - Two servers can no longer silently overwrite the same profile revision. - Added revision-safe profile deletion. - Added deletion tombstones. - Stale servers cannot delete newer data. - Stale servers cannot resurrect profiles that were deleted more recently. - Added transactional **cross-server change logging**. - Added asynchronous network synchronization. - Remote cache changes are applied in sequence order. - Failed remote refreshes are retried. - Cross-server polling shuts down cleanly. - MySQL/MariaDB storage supports offline profiles. ## Caching & Concurrency - Added thread-safe immutable profile caching. - PlaceholderAPI only reads from memory. - Older async writes cannot overwrite newer changes. - Operations for each player are processed in submission order. - Failed persistence operations do not leave unsaved data in cache. - Storage conflicts reload the authoritative profile. - GUI saves use revision checks to avoid overwriting remote/admin changes. ## Migration - Old storage systems are now treated as **migration sources** instead of permanent production backends. - Supports migration from: - Legacy YAML - Legacy `.properties` - Legacy MySQL - PersistentDataContainer / PDC - Added migration dry-run support. - Migration does not delete or modify the old source data. - Migration reports: - Imported profiles - Skipped profiles - Invalid profiles - Warnings - Migration is designed to be safe to rerun. - Existing target profiles are protected from accidental overwrite. - Old `Any`, `Ask`, and `Unset` values convert into proper V2 profile modes. ## Export - Replaced the old `/dump` system with: - `/pronouns admin export` - Exports profiles to structured **JSON**. - Works regardless of whether SQLite or MySQL is being used. - Database credentials are never included. ## Commands - Replaced Cloud commands with native Paper Brigadier commands. - Player commands: - `/pronouns view [player]` - `/pronouns set <preset>` - `/pronouns custom [pronouns]` - `/pronouns mode <mode>` - `/pronouns clear` - `/pronouns menu` - Admin commands: - `/pronouns admin edit <player> ...` - `/pronouns admin export` - `/pronouns admin migrate` - `/pronouns admin reload` - `/pronouns admin debug` - Offline players can be administered by UUID or cached player name. - Removed the old `--player` editing system. - Removed dedicated `/list`, `/version`, `/update`, and `/dump` workflows where newer systems replace them. ## Permissions - New permission structure includes: - `pronouns.use` - `pronouns.view` - `pronouns.set` - `pronouns.custom` - `pronouns.mode` - `pronouns.admin` - `pronouns.admin.edit` - `pronouns.admin.export` - `pronouns.admin.migrate` - `pronouns.admin.reload` - `pronouns.admin.debug` - Admin permissions default to OP. - Normal player permissions default to enabled. - Existing V1 LuckPerms permissions may need updating. ## PlaceholderAPI - PlaceholderAPI support remains. - Placeholder resolution is **cache-only** and never directly queries SQLite/MySQL. - Added modern placeholders including: - `%pronouns_display%` - `%pronouns_mode%` - `%pronouns_subjective%` - `%pronouns_objective%` - `%pronouns_possessive%` - `%pronouns_possessive_pronoun%` - `%pronouns_reflexive%` - `%pronouns_be%` - `%pronouns_have%` - `%pronouns_count%` - `%pronouns_set_count%` - Supports modern indexed placeholders: - `%pronouns_2_subjective%` - Legacy indexed format remains supported: - `%pronouns_subjective_2%` - Legacy modifiers remain available: - `capital` - `uppercase` - `lowercase` - `nounset` - Legacy verb/conjugation placeholders remain supported. - Important change: - `%pronouns_possessive%` now returns `her/their` - `%pronouns_possessive_pronoun%` returns `hers/theirs` - Important change: - `%pronouns_all%` now returns readable display text instead of the full serialized five-part representation. - Placeholder behavior for `ANY`, `ASK_ME`, `NAME_ONLY`, and `UNSET` is configurable. ## Public Developer API - Added a dedicated **`pronouns-api`** module. - Added `PronounsService`. - API supports: - Cached profile reads - Async profile loads - Async profile saves - Async profile clears - API is registered using Bukkit's **ServicesManager**. - Added convenience API access through: - `PronounsApi.get()` - `PronounsApi.find()` - Storage implementation details are no longer exposed through the public API. - API models are immutable. ## Events - Added `PronounProfileChangeEvent`. - Added `PronounProfileChangedEvent`. - Before-change event can be cancelled by another plugin. - After-change event only fires after a successful storage mutation. - Profile clears also participate in the change-event system. - Other plugins can safely react to profile changes without depending on internal storage code. ## Configuration - Replaced `pronouns.cfg` with: - `config.yml` - `messages.yml` - `presets.yml` - Added schema versions to configuration files. - `/pronouns admin reload` reloads safe runtime settings. - Storage backend changes require a restart instead of being hot-swapped. - Invalid reloads keep the previous working configuration. - Added configuration for: - GUI - Custom pronouns - Dialog API - Floodgate detection - Metrics - Update checker - Placeholder fallback behavior - MySQL synchronization ## Messages - Most player-facing chat messages are customizable in **`messages.yml`**. - Uses MiniMessage for administrator-created templates. - Player names and pronoun values are inserted as plain text. - Player-controlled text cannot inject: - Colors - Click events - Hover events - MiniMessage tags - GUI copy is centralized, although the inventory GUI itself remains English-only. ## Security - Added centralized security rules for player input. - Protected against MiniMessage injection. - SQL uses prepared statements. - Database credentials are never logged. - Pronoun values are not written to normal plugin logs. - Migration warnings do not expose raw pronoun values. - GUI uses custom inventory holders rather than matching titles. - GUI protects against: - Shift-click - Number-key swaps - Offhand swaps - Double-click - Dragging - Creative clone actions - Item drops - Permissions are checked server-side rather than relying on GUI visibility. - Exports use internally generated paths to prevent path traversal. ## Update Checker - Update checks are now fully asynchronous. - Server startup is no longer blocked by HTTP requests. - Update checker performs actual version comparison. - Pre-release/version formatting is handled properly. - Old manual `/pronouns update` command is no longer needed. ## Lifecycle & Shutdown - Added explicit shutdown handling. - On shutdown V2: - Closes GUI sessions - Cancels custom-input sessions - Unregisters PlaceholderAPI - Unregisters the public API - Stops metrics - Stops MySQL synchronization - Flushes pending writes - Closes database pools - Stops executors - Clears caches - V1 did not have comparable complete shutdown handling. ## Important Upgrade Notes - **Java 25 is required.** - **Paper 26.3 is required.** - V1 configuration does not directly carry over to the new YAML configuration structure. - V1 permission nodes may need updating in LuckPerms. - V1's developer API has been replaced by the new V2 API. - Existing V1 data should be imported using the migration commands. - SQLite is now the recommended/default backend. - PDC/NBT is migration-only. - `%pronouns_possessive%` changed meaning. - `%pronouns_all%` changed output format. - `/pronouns get` became `/pronouns view`. - Raw custom values should use `/pronouns custom` instead of `/pronouns set`. - Editing another player's profile now uses `/pronouns admin edit`. - Native Bedrock forms are not implemented; Bedrock uses chat fallback. - V2 is a **major rewrite**, not a drop-in patch for V1.
release

PronounsAdvanced 1.0.0

1.0.0
25 июн. 2025 г.364Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6bukkit, bungeecord, paper, spigot
Скачать
Что нового
First Publish!