promotional bannermobile promotional banner

Dominion Factions

Factions for Hytale servers. Claim land held by your members' power, make allies and enemies, lay siege, run a faction bank and market, all from one panel opened with /f. Every rule is a live setting. Server side.
Back to Files

DominionFactions-0.7.2.jar

File nameDominionFactions-0.7.2.jar
Uploader
ryvrookryvrook
Uploaded
Oct 16, 2026
Downloads
11
Size
1.5 MB
File ID
9215766
Type
R
Release
Supported game versions
  • 0.7

What's new

## 0.7.2 - 2026-10-16

### With the other mods
- `dominion:rank_changes` is sent now. Each promote or demote counts once for the member whose rank moved, not for
  the member who made the change, which is what the New Rank feat in Feats 1.7.3 reads. It has a TrackerAPI
  leaderboard like the other counters.
- With Feats 1.7.0 or newer Dominion links and unlinks through the Feats enable and disable hooks, the way it does
  with TrackerAPI, Atlas and Coinage. An older Feats is still found by the watch every 5 seconds.
- During a `/plugin reload` of TrackerAPI, Coinage, Feats or Atlas, Dominion logs one INFO line saying the sibling
  brings it back by itself, instead of a warning asking for `/plugin reload Ryvrook:Dominion`. The warning stays
  for a sibling that is still gone after 30 seconds.
- A server stop or a `/plugin reload` no longer makes a Dominion timer wait for the plugin manager. The sibling watch,
  the VaultUnlocked lookup and the reload threads only try the manager's lock and use the last answer while it is
  held. The IO thread gets 1 s at stop plus 0.5 s after an interrupt instead of 15 s. With all nine suite jars a stop
  after reloading TrackerAPI and Atlas took 0.55 s.

### For mod authors
- New bus event `MemberRankChanged(factionId, member, actor, fromRank, toRank)`, published after every promote,
  demote and set rank, with the ranks as `Rank` ordinals. `DominionApi.API_VERSION` is 3.

## 0.7.1 - 2026-10-16

### With the other mods
- Fifteen more counters per player go to TrackerAPI and Feats under `dominion:`, read by the 14 feats Feats 1.7.2
  adds: `joined`, `kicked`, `wars_declared`, `alliances`, `upgrades`, `upgrade_level_max`, `market_trades`,
  `foreign_entries`, `sieges_defended`, `breaches`, `hill_wins`, `outposts_held`, `power_max`, `rank_changes` and
  `tutorial_done`. War, alliance, upgrade, breach, hill and outpost credit goes to every member, online or not.
  Foreign entries count each faction once, `upgrade_level_max` only rises, and `power_max` and `tutorial_done` are
  sent once. `rank_changes` is listed and never sent, since the rank log line does not name the member by id.
- A Feats older than 1.7.2 keeps only the original ten counters, so only those are sent to it.
- TrackerAPI gets a leaderboard for every counter that can grow past one.

### For admins
- Player records keep the counter memories under `Counters` in the player file.

## 0.7.0 - 2026-10-16

### For admins
- After a `/plugin reload` of Dominion, every enabled plugin that lists `Ryvrook:Dominion` in its manifest is
  reloaded two seconds later, one at a time and under the same lock TrackerAPI and Coinage use, so SocialBridge and
  RestAPI link to the new instance. A plugin someone else already reloaded is left alone.
- Staff actions taken through the API (disband, set leader, set power, unclaim) write one server log line with the
  caller's name, such as `RestAPI:ops force disbanded NRT through the Dominion API`.

### For mod authors
- `DominionApi.API_VERSION` is 2. `DominionApi.onEnable(Consumer)` runs at once when Dominion is up and after every
  start, `onDisable(Runnable)` runs first thing on shutdown, `removeHooks` drops both. `DominionApi.find()` and
  `isPresent()` answer without throwing.
- `factions()` lists every faction with safe and war zones, sorted by tag, and `factionById(UUID)` finds one.
- `sieges()` and `siegeHistory(factionId, limit)` return `SiegeInfo` records with both sides, their tags, the
  phase, when it ends, the banner position and the counts.
- A `DominionEvent.ChatLine` is published for every faction, ally, officer and nation line, with the faction id and
  tag, the channel, the sender and name, the text and the time. `sendFactionChat(factionId, name, text)` sends a line
  from outside the game to the faction's online members and publishes it with a null sender. Lines are cut at 256
  characters. Private lines still never reach `export/snapshot.json`.
- Staff actions `disband`, `setLeader`, `setPower`, `unclaim(world, chunkX, chunkZ)` and `unclaimAll` return a
  `Result` with the reason. `setPower` refuses a player Dominion has never seen.
- Methods added after 0.6.2 have default bodies, so a stand in API written against the older jar still compiles.
- The build compiles against TrackerAPI 1.1.0, Coinage api 1.2.0, Feats 1.6.0 and Atlas 1.7.0.

This mod has no additional files