Forge History
Forge stores per-player forging records used to count recipe usage, drive the quality pity counter, and back the forging placeholders.
Configuration
History settings are under history in config.yml:
yaml
history:
enabled: true
auto_save: true
# Auto-save interval; 6000 ticks = 5 minutes
save_interval: 6000| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Whether forge history is enabled. |
auto_save | boolean | true | Whether player data is periodically saved. |
save_interval | integer | 6000 | Auto-save interval in ticks. 6000 ticks is about 5 minutes. |
When either
enabledorauto_saveis false, the periodic auto-save task is not scheduled.
Storage location
Player data is stored in plugins/EmakiForge/data/<player-uuid>.yml, one file per player.
Recorded data
Each player file records the following per recipe id:
| Data | Purpose |
|---|---|
| Player UUID | File name and the uuid field inside the file. |
| Recipe id | Groups forging data per recipe. |
| Craft count | Backs %emakiforge_craft_count_<recipe_id>% and the total count. |
| Last craft time | The last_crafted_at field, backing %emakiforge_last_crafted%. |
| Pity counter | Quality pity streak, tracked per player and recipe. |
Relationship with quality pity
The pity counter is stored in the player data file, so the two are directly related:
- Each forge whose quality is below the pity minimum increases the counter by 1.
- Once the counter reaches the threshold, pity triggers and the counter resets.
- See Quality for pity conditions and thresholds.
Recommendations
- Enable both
enabledandauto_saveon production servers. - Increase
save_intervalon high-concurrency servers if disk writes are too frequent. - Archive the
data/folder after seasons or events to analyze recipe output.
Troubleshooting
- Data not saved: check
enabled,auto_save, and permissions on thedata/folder. - When player data fails to load, that session stays read-only to protect the existing file and a warning is logged to the console.
- Unexpected pity behavior: check the current counter with
%emakiforge_guarantee_<recipe_id>%, then compare recipe-level and global pity settings. - Data issues after reload: verify the auto-save interval, and stop the server to let data flush before maintenance if needed.