Repository navigation
Skins and Face Controls
Open Skin preview / eyes to change how your boss looks. The in-game model preview lets you line up its face before you test it in the world.
skin.type |
Result |
|---|---|
default |
Minecraft's normal Warden texture. |
player |
Maps the named account's 64×64 Minecraft skin onto the Warden. |
custom |
Uses a server-supplied 128×128 PNG in the vanilla Warden atlas layout. |
Player skins are resolved by each client through Minecraft/Mojang services. The mapping uses nearest-neighbor scaling without a vanilla base-texture overlay. The moving chest rib plates retain their original Warden pixels, keeping the torso and opening ribs distinct.
Normal Wardens keep their original textures and emissive rendering.
Place the file here:
config/clockwork-bosses/boss-templates/my_boss/skins/clockwork_warden.png
Use these settings in the template:
{
"skin": {
"type": "custom",
"name": "",
"file": "clockwork_warden.png"
}
}Custom files must be:
- PNG, exactly 128×128 pixels
- In the vanilla Warden texture-atlas layout
- 512 KiB or smaller
- A lowercase
.pngbasename without spaces, capitals, or a directory path
Custom PNGs are loaded as-is, without scaling or remapping. A player-skin PNG won't automatically become a custom Warden atlas.
The server sends a custom skin to clients tracking a boss that uses it. Players don't need to copy the file onto their clients. After replacing a PNG, run /boss reload to refresh the server cache and tracking clients.
Enter your player/default/custom settings, then press Load / refresh skin preview.
- Drag the model to rotate it.
- Switch between the full-body view and head zoom.
- Reset it to face forward.
- Choose a preview phase to check its glow tint.
For presets, custom preview files come from that preset's own skins/ folder. The preview only renders the model. It doesn't enter the world or run AI.
The page has separate Skin and Glowing eyes sections, plus face controls:
- Choose Both / Left / Right eyes.
- Move selected eyes by one atlas pixel with the direction pad, or edit coordinates.
- Use Narrower / Wider to adjust spacing.
- Adjust eye and eyebrow positions separately.
- Use independent eye Scale X / Y controls from 0.5–4, rounded to 1–8 atlas pixels. Scale 1 gives a 2×2 eye. The static eyebrow source mask is 4×4; beta.6 rotation can extend pixels beyond it before clipping to the face.
Coordinates are atlas pixels measured from the 16×16 front face's top-left.
-
skin.glowing_eyesstores integerleft_x,left_y,right_x, andright_y. The editor accepts 0–15. Rendering clamps X to 0 through 16 minus eye width, and Y to 0 through 16 minus eye height, so scaled eyes stay inside the face. - Eye
scale_xandscale_yaccept 0.5–4, default 1. Default eye positions are (3,7) and (11,7). A default 2×2 eye therefore renders at coordinates no greater than 14, even though the editor accepts 15. -
skin.glowing_eyebrowsstores integerleft_x,left_y,right_x, andright_yfrom 0–12 for the 4×4 source masks. Beta.6 rotates around each mask's center and clips resulting pixels to the face. Default positions are (2,2) and (10,2).
This partial template uses the default face positions and eye scale:
{
"skin": {
"glowing_eyes": {
"left_x": 3,
"left_y": 7,
"right_x": 11,
"right_y": 7,
"scale_x": 1,
"scale_y": 1
},
"glowing_eyebrows": {
"left_x": 2,
"left_y": 2,
"right_x": 10,
"right_y": 2
}
}
}The eyes include darker pupil pixels. To move the eyebrows, use the separate brow controls; moving the eyes won't move them.
Alignment preview uses stronger, steady face glow and the selected phase hue at full saturation and brightness. The live boss uses your configured RGB color and the native pulse, so expect a different brightness in-world.
If the preview fails, refresh once and check the client log for its actionable warning. See Troubleshooting for file and version checks.
The later source adds skin.glowing_pupils to both editors and their model
previews. These are darker rectangles inside each glowing eye. They keep the
phase hue; the pupil pixels are 40% as bright as the surrounding eye.
| Field | Meaning |
|---|---|
enabled |
Show pupils; false leaves the eye bright. Default true. |
scale_x, scale_y
|
Independent size, 0.5–8. Scale 1 = one atlas pixel; sizes round to 1–8 pixels. |
left_x, left_y, right_x, right_y
|
Whole offsets inside that eye, -1–7. Zero is its top-left. -1 follows the inner X or bottom Y edge automatically. |
Moving an eye moves its pupil too. Size and offset clip to the eye; the saved value stays intact if the eye becomes smaller. Defaults retain the original one-pixel inner/bottom pupil. Automatic one-pixel pupils remain hidden on one-pixel-wide/high eyes; explicitly positioning/sizing them can fill those eyes.
In Skin preview / eyes → Pupils, the native cross pad selects Both, Left or Right. Reset restores automatic positions without changing size/visibility. The website's Skin & glowing face → Pupils exposes the same fields and preview rules. An older connected server schema hides unsupported controls without dropping imported pupil data. New/default presets include the section; existing templates can omit it and keep their appearance.
Pupil controls are included in stable 0.2.0 and beta.6. The connected Workshop needs a server schema that exposes them. Beta.6 includes native face/atlas/editor checks; real multiplayer visual checks remain pending. Earlier 0.2.beta.1 jars lack these controls. Normal Wardens retain
their original rendering; clients without the core retain the native fallback.
The current development source adds Angry, Neutral, Curious and Sad eyebrow shapes, with independent left/right rotation in whole degrees from -45 to 45. Positive rotates clockwise around each brow's center. The source mask is still 4×4, but rotated pixels can extend one pixel beyond it; everything clips to the 16×16 face. Shape selection preserves saved positions. Reset restores selected positions and zero rotation while keeping the expression. Small angle changes can look identical on the pixel grid.
Under Glowing eyebrows → Encounter expressions, enable event rules to choose a shape and angle overrides for melee, sonic boom, roar, getting hit and a new target. Rules affect only the glow face. Native attacks, damage, movement and animations continue to run through their existing paths.
| Setting | Meaning |
|---|---|
Base expression
|
angry, neutral, curious or sad; default angry. |
Base left_rotation, right_rotation
|
Independent integer angles -45–45; default 0. |
events.enabled |
Enables the event rules; default false. Missing/disabled keeps the static face. |
Rule expression
|
inherit = base shape; angry/neutral/curious/sad = fixed shape; random = one draw from random_pool. |
| Rule rotations | Null/missing keeps the corresponding base rotation; an integer -45–45 overrides it. |
hit_duration_ticks, target_duration_ticks
|
Temporary reaction length, whole ticks 1–12000; default 20. |
hit_cooldown_ticks, target_cooldown_ticks
|
Minimum time between reactions, 0–12000; default 20. Extra events during cooldown do not extend a reaction. |
random_between_attacks |
Choose a new resting shape after each completed melee swing/sonic beam; default false. Cancelled attempts do not roll. |
random_pool |
Four booleans: angry, neutral, curious, sad. Default all true. An empty pool uses the base shape; explicit rule angles still apply. |
Priority: getting hit → attack/roar → new target → resting face. A hit briefly overrides the current attack expression, then returns to it if the attack/recovery is still running. The hit rule observes accepted nonfatal player-owned damage, including player-owned projectiles. It does not react to vetoed attempts, environmental damage or fatal hits.
Twenty game ticks equal one second at normal tick speed. Reactions and recovery expiry share the existing ten-tick boss watcher, so a pose can last up to nine extra ticks. There is no independent random timer. Reload, health-phase changes and encounter end discard transient poses. Attack interruption clears that attack pose; an old stop callback cannot clear a newer attack's face.
For example, this partial section keeps angry attacks and briefly shows sad eyebrows when a player hits the boss:
{
"skin": {
"glowing_eyebrows": {
"expression": "angry",
"left_rotation": 0,
"right_rotation": 0,
"events": {
"enabled": true,
"hit_duration_ticks": 20,
"hit_cooldown_ticks": 20,
"melee": { "expression": "angry" },
"sonic_boom": { "expression": "curious" },
"hurt": { "expression": "sad" }
}
}
}
}Both editors offer a local Preview expression/pose selector and a still random sample; these selectors are not template settings and are never saved. The preview does not simulate event timing. Older connected schemas hide unsupported controls while preserving imported data. Normal Wardens and unmodded clients keep vanilla rendering; older Clockwork clients retain their old eyebrow shape.
Status, October 13, 2026: packaged in the local 0.3.0-beta.6 checkpoint. Native server hooks/priority/cleanup, client atlases and editor controls at three sizes passed automated checks; the detached Warden preview rendered. Real multiplayer, latency and rendering under load remain unverified. No deployment occurred. At that checkpoint, hosted beta declared only beta.4, beta.3 and 0.2.0 and did not contain these face controls; beta.6 edits/publishing were correctly blocked. Recheck the hosted declaration before using it as a current support claim. The standalone website source passed regression and browser roundtrip checks. See Compatibility and testing for checkpoint limits.
Clockwork Bosses
- Home
- Versions and release status
- Installation and quick start
- Templates and presets
- In-game editor
- Hosted workshop
- Workshop troubleshooting
- Commands
Build the fight
- Phases and subphases
- Combat and targeting
- Arenas and activation
- Player support
- Skins and face controls
- Sounds and music
- Darkness and visual effects
- Loot
Reference and help
- Permissions and LuckPerms
- Configuration reference
- Troubleshooting
- Compatibility and testing
- In-game playtest checklist
Experimental addon development
Development testing tools