Edit contracts mid-rotation
This isn’t as much of a guide as it is information about what to expect when you edit a contract while it is already in an active category rotation. The short answer is: in most cases, this is not a problem and the plugin will handle this gracefully. That being said, there are a couple of things to keep in mind depending on the state of a player’s contract progress when the edit takes effect.
How edits take effect
Section titled “How edits take effect”Edits do not reach live players the instant you save. They apply on the next data reload (a plugin reload or server restart). At that point every player’s saved progress on the contract is re-evaluated against the new version and quietly (sometimes loudly) repaired so it stays consistent. Two rules govern that repair:
- Claimed contracts are frozen. Once a player has claimed a contract’s reward, nothing you change can revoke it or ask more of them. If your edit adds requirements, their progress is auto-satisfied to match, so a claimed contract stays claimed.
- Unclaimed progress is re-evaluated. Progress on a contract the player has started but not yet claimed can go up, down, complete, or un-complete to line up with the new objectives and amounts.
- Not-yet-accepted contracts are unaffected. If a player has not accepted the contract yet, there is no saved progress to reconcile, so your edit simply applies.
What each edit does
Section titled “What each edit does”The columns are the player’s state on that contract when the reload happens.
| Edit | In progress | Completed (unclaimed) | Claimed |
|---|---|---|---|
| Add objective | New objective starts at 0 (if amount-based); the player must complete it too, and the contract stays in progress | Reverts to in progress; the player must complete the new objective before they can claim | New objective is auto-filled to its required amount and completed; stays claimed |
| Remove objective | Its progress is dropped; if it was the last incomplete objective, the contract auto-completes and the player is notified | Its progress is dropped; the contract stays completed | Its progress is dropped; the contract stays claimed |
| Increase amount | More to do; still in progress | Reverts to in progress; the player must reach the new amount | Progress is bumped up to the new amount; stays claimed |
| Decrease amount | If the player is already at or above the new amount, the objective auto-completes and may complete the contract | Stays completed | Stays claimed |
