> For the complete documentation index, see [llms.txt](https://pro-hytale-mods.gitbook.io/pro-hytale-mods-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pro-hytale-mods.gitbook.io/pro-hytale-mods-docs/patch-notes/partypro-1.0.0-patch-notes.md).

# PartyPro 1.0.0 - Patch Notes

## PartyPro 1.0.0 — Patch Notes

The biggest update to PartyPro since launch. Complete UI redesign, configurable milestones, full activity feed, and a stack of integration fixes.

***

<div><figure><img src="/files/gkEm4FuxN845VwUwUAef" alt=""><figcaption></figcaption></figure> <figure><img src="/files/X6foiSFeBnJogCNJUDGK" alt=""><figcaption></figcaption></figure> <figure><img src="/files/CHwJUwzLYB1d9ucD8fov" alt=""><figcaption></figcaption></figure> <figure><img src="/files/m810yBfOEIw3D9c1lvkp" alt=""><figcaption></figcaption></figure> <figure><img src="/files/NFFP27XaSOn3i9lxhrTs" alt=""><figcaption></figcaption></figure></div>

### New Sidebar UI (Default)

The Party Browser GUI has been completely redesigned. The new **sidebar layout** is now the **default UI** — players no longer have to manually switch from classic. It features seven sections, each with its own icon, active indicator, and (where relevant) live badges.

The classic tab layout remains available for players who prefer it: click the `Classic UI` button in the sidebar to switch back at any time. The choice is per-player and persists across sessions.

* **Profile mini-card** at the top of the sidebar — shows your name, role, and party at a glance
* **Active indicator dot** on the currently selected section
* **Live badges** on `Invites` (pending count) and `Chat` (unread messages)
* **Breadcrumb header** at the top of the content area
* **Status bar** at the bottom with contextual information
* **Classic UI button** in the sidebar — switches back to the old tab layout if you prefer it

The classic UI is fully preserved and untouched — only the default landing UI has changed.

#### Sections

| Section      | What's new                                                                        |
| ------------ | --------------------------------------------------------------------------------- |
| **Home**     | Dashboard with Server Overview, My Status, Featured Parties, and Your Stats cards |
| **My Party** | Member list + scrollable detail drawer + live activity feed                       |
| **Browse**   | Sub-tabs for Parties (with quick filters) and Players                             |
| **Invites**  | Pending invites with centered empty state                                         |
| **Chat**     | Party chat with unread badge tracking                                             |
| **Stats**    | Milestone progress cards with optional compare mode                               |
| **Settings** | Sub-tabs for General, My Party, Integrations                                      |

***

### My Party — Detail Drawer

The My Party tab is now a **two-pane detail drawer** instead of a flat member list.

* **Member list (left, 280px)** — compact rows with 40×40 avatar, status dot, leader badge, and low-HP alert
* **Detail panel (right, scrollable)** — click any member to see their full profile
  * Avatar, name, role (Leader / Member / You / Offline)
  * HP bar with text + percentage
  * Stamina bar with text + percentage (now correctly displays `/100` instead of `/10`, label colored gold)
  * Ping (ms)
  * Distance from you
  * **RPG Level** (when RPGLeveling integration active)
  * **All MMO skills with levels** (when MMOSkillTree integration active) — replaces the old "selected skill only" view
  * Action buttons: Teleport / Promote / Kick (visibility based on role and config)
  * Section separators between content blocks
* **Header bar** — party name on the left, `EDIT SETTINGS` and `DISBAND` / `LEAVE` buttons on the right

The detail panel is independently scrollable when content overflows.

***

### Live Activity Feed

A new **bottom panel** in My Party shows recent party events in real time, merged with chat history and sorted by timestamp.

#### Tracked event types (14)

* `JOIN` — member joined the party
* `LEAVE` — member left voluntarily
* `KICK` — member was kicked by leader
* `PROMOTE` — leadership transfer
* `RENAME` — party renamed
* `TOGGLE_PVP` — friendly-fire toggled
* `TOGGLE_PUBLIC` — visibility toggled
* `PASSWORD` — password set/changed
* `SIZE_CHANGED` — max size adjusted
* `TELEPORT` — member teleported to another
* `DISBAND` — party disbanded
* `PVP_KILL` — member killed an enemy
* `PVP_DEATH` — member killed by an enemy
* `DEATH` — environmental or mob death
* `LOW_HP` — member dropped to critical HP

Per-party log capped at 50 entries. Hooked from `PartyManager`, `PartyDamageEventSystem`, settings handlers, and chat.

***

### Configurable Milestones

The Stats tab now shows progress as **milestone cards** instead of a dry numerical list, and milestones are fully configurable via `PartyPro/milestones.json`.

#### Default milestones (10)

| Title           | Goal              | Stat              |
| --------------- | ----------------- | ----------------- |
| MOB SLAYER      | Kill 1000 mobs    | `MOB_KILLS`       |
| ASSASSIN        | Defeat 50 players | `PLAYER_KILLS`    |
| BRUISER         | Deal 50k damage   | `DAMAGE_DEALT`    |
| TANK            | Take 10k damage   | `DAMAGE_TAKEN`    |
| BUILDER         | Place 10k blocks  | `BLOCKS_PLACED`   |
| MINER           | Break 10k blocks  | `BLOCKS_BROKEN`   |
| EXPLORER        | Travel 1km        | `DISTANCE`        |
| HUNTER GATHERER | Collect 10k items | `ITEMS_COLLECTED` |
| CRAFTSMAN       | Craft 500 items   | `ITEMS_CRAFTED`   |
| TELEPORTER      | Use 100 teleports | `TELEPORTS`       |

#### Compare mode

Toggle the `COMPARE` button to display two members side-by-side. A second member selector appears, both progress bars are shown per milestone, and the leading member is named directly in the milestone target text (e.g. *"Kill 1000 mobs · Alex leading"*).

#### Editable fields

Server admins can add custom milestones, rename existing ones, adjust thresholds, remove unwanted ones, and reorder them. Unknown stat values and missing fields are silently skipped — the config is robust against typos.

***

### Card-Style Leaderboard

The leaderboard sub-tab is now a **rich card list** instead of a table.

* **Rank badge** with medal colors — gold (#1), silver (#2), bronze (#3)
* **Party name + member count + active time** in the header
* **Composite stats line** showing all 5 stats inline (KILLS · DAMAGE · BLOCKS · DISTANCE)
* Sort by category (Kills / Damage / Blocks / Distance / Time) — cards re-rank but always show all stats
* Top 20 parties displayed

***

### Browse Parties — Working Filters

The quick filters in the Browse Parties tab are now properly togglable.

* `Public Only` chip
* `Has Slots` chip
* `Passwordless` chip

Each chip has a dot indicator that visually toggles when active. Filters can be combined freely.

***

### Bug Fixes

#### Cross-World XP Sharing

Fixed an old bug where players in different worlds could still receive shared XP under certain `maxDistance` configurations.

* **Fixed**: World-check is now independent of the distance limit
* Players in different worlds **never** share XP, regardless of `maxDistance`
* Applied to both `XPSharingService` (RPGLeveling) and `MMOXPSharingService` (MMOSkillTree)
* Added `isInSameWorld(UUID, UUID)` helper to `PartyHealthTracker`

#### HUD Asset Race Condition

Fixed the recurring `Could not find document Hud/PartyPro/PartyHud.ui` error on world join.

* **Fixed**: Added a 5-second `WORLD_JOIN_DELAY_NANOS` backoff before HUD creation on world join
* Exponential backoff on subsequent creation failures
* New static hooks: `PartyHudSystem.onPlayerAddedToWorld()` and `onPlayerLeave()` wired to `AddPlayerToWorldEvent` and `PlayerDisconnectEvent`

#### UI Polish

* **Stamina display** — now correctly shows `/100` instead of `/10` (raw values multiplied by 10 for display)
* **Stamina label color** — changed from blue (`#88ccff`) to gold (`#f0c040`) to match the energy theme
* **Empty state icons** — wrapped in `CenterMiddle` containers so they appear vertically centered instead of pinned to the top, no longer stretched to full width
* **Sidebar nav icons** — fixed icons being stretched to 34px row height; now explicitly sized 16×16 with `Top: 9` vertical centering
* **Detail panel scrolling** — wrapped in `TopScrolling` so long content (RPG level + full skill list) doesn't overflow
* **Detail panel separators** — added between sections (avatar/info, bars, integrations, actions)
* **Settings sub-tab order** — `My Party` and `Integrations` sub-tabs now consistently appear at the top of the content area
* **Disband/Leave button** — moved from `Settings → My Party` back to the My Party tab header next to `EDIT SETTINGS`

***

### Activity Log API

The new `PartyActivityLog` is exposed for plugin developers.

```java
PartyActivityLog.log(partyId, EventType.PVP_KILL, "Alex killed an enemy");
List<ActivityEntry> recent = PartyActivityLog.recent(partyId, 20);
```

Custom events automatically appear in the live feed merged with native events and chat.

***

### Compatibility

* **No breaking changes** to existing config files — `config.json` is fully backwards-compatible
* **New UI is now default** — existing player setting files (which predate the toggle) will auto-load with the new UI; players who explicitly toggled to classic before this update keep their saved preference
* **Classic UI preserved** — accessible via the Classic UI button in the new UI's sidebar
* **No required dependencies** — all integrations remain optional
* Existing `party_storage.json`, `player_settings.json`, and `party_stats.json` carry over unchanged

***

### Upgrade Notes

1. Drop the new `partypro-1.0.0.jar` into your `Mods` folder
2. Start the server — `milestones.json` is created automatically
3. (Recommended) Install **MultipleHUD** to let PartyPro coexist with other custom-HUD plugins
4. (Optional) Edit `PartyPro/milestones.json` to customize the Stats tab goals
5. Restart to apply

No manual migration required.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://pro-hytale-mods.gitbook.io/pro-hytale-mods-docs/patch-notes/partypro-1.0.0-patch-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
