Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buyOn this page, you will learn more about the Public Parties Add-On.
The Public Parties add-on lets a party leader list their party to the whole server, so players can find it and join it without ever being invited. Parties can be fully open, or accept join requests the leader approves one by one. This add-on requires PhoenixDuels Premium.
Public Parties Add-On
To install this add-on, simply drag and drop the jar file into the PhoenixDuels/addons folder, then restart your server.
These are the following files that this add-on will generate to your PhoenixDuels folder:
PhoenixDuels/menus/publicparties/browser.yml - The party browser opened by /joinparty.PhoenixDuels/menus/publicparties/bans.yml - The banned players menu.PhoenixDuels/translations/publicparties.translations.en.yml - The translation file for the add-on.It also adds a public-parties section to your config.yml, extends the existing menus/party/party.yml and menus/party/info.yml menus, and creates a %prefix%_publicparties_table table in your database.
The add-on replaces the party command and the party menus with its own versions while it is loaded, and puts the originals back when it is unloaded. If you already customised menus/party/info.yml, the new buttons are appended to it, but existing lines are never rewritten โ delete the file if you want the new layout generated from scratch.
A party is always in one of three states. The leader switches between them with a command, or by clicking the visibility button in the party menu, which cycles through all three.
| State | Behaviour |
|---|---|
| Private | The default. The party is hidden from the browser and can only be joined by invite. |
| Public | The party is listed in the browser and anyone can join it instantly. |
| Requests | The party is listed, but clicking it sends the leader a request to approve or deny instead of joining. |
Turning a party public or opening it for requests announces it once to every online player. The announcement is skipped for members of that party and for anyone banned from it.
| Command | Description |
|---|---|
/joinparty |
Opens the public parties browser. |
/joinparty <player> |
Joins that player's party directly, or sends a request if the party is in Requests mode. |
/joinparty accept <player> |
Accepts a pending join request. Leader only. |
/joinparty deny <player> |
Denies a pending join request. Leader only. |
/party public |
Lists the party and lets anyone join instantly. Leader only. |
/party requests |
Lists the party, but every join has to be approved. Leader only. |
/party private |
Unlists the party and drops every pending request. Leader only. |
/party desc <text> |
Sets the description shown on the party's entry in the browser. Leader only. |
/party desc clear |
Removes the description. Leader only. |
/party ban <player> |
Bans a player from the party. Leader only. |
/party unban <player> |
Lifts a ban. Leader only. |
/party bans |
Opens the banned players menu. Leader only. |
If you renamed the party command through commands.party.alternative, these sub-commands follow the new name. Every other party sub-command keeps working exactly as before.
/joinparty opens a paginated list of every listed party, refreshed every second. Each entry shows the leader's head, the member count, the members themselves and the party's description.
Both buttons are per viewer, so two players browsing at the same time keep their own sorting and filtering.
The entry lore supports %player%, %members%, %max%, %members_list% and %description%. The %description% line is dropped entirely when the party has no description set, and parties in Requests mode use their own separate entry item.
A join attempt is refused when:
The match and queue checks cannot be turned off. They exist because a party's roster changing mid-duel breaks the match.
Free slots are counted as members plus pending invites, which is what the plugin itself enforces โ so a party showing an open slot in the browser really has one.
/party desc <text> gives the party a short line of text that shows up on its browser entry, so leaders can say what they are looking for instead of just showing a member count. The length limit and the whole feature are configurable.
In Requests mode, clicking a party in the browser sends its leader a message with clickable [ACCEPT] and [DENY] buttons, wired to /joinparty accept and /joinparty deny. Requests expire on their own after the configured time, and are dropped when the party goes private.
A ban stops a player from rejoining a party they were kicked from. Banning someone removes them from the party on the spot, drops any request they had pending, hides the party from their browser, and skips them when the party is announced.
Bans last as long as the party exists and are cleared when it disbands. The leader can review and lift them from /party bans, or through the Banned Players button in the party menu, by clicking a head.
The add-on adds a public-parties section to your config.yml.
| Configuration key | Default | Notes |
|---|---|---|
advertisement.enabled |
true | Announces a party to the server when it gets listed. |
advertisement.cooldown-seconds |
60 | Blocks announcement spam from toggling visibility. Only the announcement is held back โ the visibility change still goes through. |
maximum-listed-parties |
0 | Caps how many parties can be listed at once. 0 is unlimited. |
browser.hide-full-parties |
true | The starting state of the browser's hide-full toggle. |
browser.default-sort |
SLOTS_REMAINING |
SLOTS_REMAINING, MEMBERS or LEADER_NAME. |
requests.enabled |
true | Turning this off removes Requests from the visibility cycle entirely. |
requests.expiration-seconds |
120 | How long a pending request stays valid. |
description.enabled |
true | Enables /party desc. |
description.maximum-length |
48 | Characters allowed in a description. |
permissions.enabled |
false | Gates joining and listing behind the permissions below. Off by default so existing setups keep working. |
| Permission | Description |
|---|---|
| phoenixduels.publicparties.join | Allows joining public parties. Only enforced when permissions.enabled is on. |
| phoenixduels.publicparties.advertise | Allows listing your own party. Only enforced when permissions.enabled is on. |
| phoenixduels.publicparties.bypass-full | Allows joining a party that is already full. Always enforced. |
bypass-full works by raising that party's slot limit by one, because the plugin hard-caps a party at its maximum. The extra slot stays with the party after the bypassing player leaves.
Visibility, descriptions and bans are written to the %prefix%_publicparties_table table through whichever database you have configured, SQLite or MySQL. The table is created and migrated on its own the first time the add-on loads.
State is saved when the add-on unloads and restored when it loads again, so reloading the add-on does not silently drop every public party back to private. Rows are deleted as they are read, so parties that died while the add-on was unloaded do not pile up.
This does not survive a full server restart, and cannot: parties themselves are never persisted by the plugin, so after a restart there is no party left for a saved row to attach to and every row is discarded.
Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buy