Player Profile

Player Profile

alaindustrial:player_profile
UtilityImplementedguistatsprogressionxpqol

Summary

The Player Profile is a personal career screen. Vanilla statistics will tell you "42 pickaxes crafted", but it cannot see your career in the mod — how much EU/FE your grid generated, how much ore your machines processed. The profile collects that mod activity and turns it into a career progression: a mastery-point system of 40 levels grouped into 8 themed ranks (Apprentice → Legend). Open it with the K hotkey (rebindable in Controls; vanilla already uses P for Social Interactions in multiplayer) or with the button in the top-right corner of your inventory. It shows your current rank and sub-level (Engineer III), a mastery bar toward the next level, career EU/FE counters (produced / usefully consumed), your "mod activity" time, and a breakdown of production by generator type.

Not to be confused with vanilla advancements (one-off checkpoints) or vanilla statistics (a flat table). The profile is a set of cumulative career meters plus a rank progression.

Progression

The main source is machine work. Mastery is credited to a machine's owner at the moment it completes an operation (smelting, macerating, extracting, compressing, a pump moving a bucket), worth the operation's full EU/FE cost. An operation aborted by a redstone contraption burns EU/FE but earns no mastery — that is the anti-AFK rule. The second source is generator output, but 20x weaker. A generator runs without you, so its contribution is deliberately token: it will not let you sleep your way to Legend, yet it stops a large power farm from feeling entirely unrewarded. Only EU/FE actually credited into the buffer counts — a generator spinning into a full buffer earns nothing at all. Charging storage blocks and teleporter jumps earn no mastery whatsoever.

ParameterValueConfig
EU/FE→mastery rate (machines)1,000 EU/FE of work = 1 mastery pointeuPerXp
EU/FE→mastery rate (generators)20,000 EU/FE produced = 1 pointeuPerXpGenerated
Level curveexponential, x1.18 per levellevelXpMultiplier, xpLevelOneCost
Levels40 (8 ranks x 5 sub-levels)
Sub-levelRoman numerals (I...V)
Level-up noticesound only

Mastery is a derived value: it is computed from the two career EU/FE counters rather than stored on its own, so retuning the rates in the config can never eat mastery you already earned. A rank you have reached is never taken away by a balance change — the highest level reached is remembered.

Rank ladder

Sub-levelsRank
1–5Apprentice
6–10Journeyman
11–15Technician
16–20Operator
21–25Engineer
26–30Architect
31–35Magnate
36–40Legend

Attribution and privacy

Statistics are tracked per machine owner — whoever placed it (re-assigned by placing it again). If a friend loads ore into your machine, the mastery is yours. The profile is per-player and private: on a server you only ever see your own career. Credit accrues only while the owner is online and not in creative (creative EU/FE is free and must not convert into a career); a machine with no owner (a structure, the demo stand) credits nobody. Machines placed by other mods' automation. The "owner online" rule also covers machines placed by another mod's fake player (auto-builders, robots). No separate mechanism exists for them, and none is needed: such a player is never among the connected players, so its UUID resolves to nobody and no one gains mastery. When the automation instead acts under a real player's identity (a common approach so that permissions and land claims see the owner), the work is credited to that player — and only while they are online, exactly as for a hand-placed machine. This is deliberate behaviour, not a gap.

Storage

The profile lives in a per-player data attachment. It survives relogging and death, and is synced only to its owner. Server-side accumulation is batched in memory and folded into storage every few seconds (and on logout / server stop) — never written per tick.

Block properties

The player profile is a pure screen (GUI), not a block and not an item: nothing is placed in the world, and it has no shape or collision. Its "entry point" is not a physical item but a hotkey and a widget button in the vanilla inventory (see "Entry points"). The data lives in a per-player attachment on the server; the screen is client-side.

FieldValue
Typescreen (GUI), not a block or item
Placement in worldnone
Shape / collisionnone
OpeningK hotkey or the button in the top-right of the inventory (client-side)
Data storageper-player data attachment (server)

Entry points

K hotkey (Profile) — the default, rebindable under Controls. Button in the top-right corner of the inventory (absent in the creative inventory — the hotkey works everywhere). /ala profile show|set <xp> — an operator utility command (progression debugging / QA).

Beyond the first version

A quest system, milestone buffs (when they arrive — on machines and the grid only, never on the player), a shareable server profile card, and wider statistics categories (crafting, mining by ore, teleportation) are separate future tasks.