MD500 FORGE OBJ CONVERSION (1.0.34)
Replaced GLTF item-model rendering with Forge 1.20.1 built-in forge:obj models. Converted the supplied MD500 meshes to body/rotor OBJ+MTL, packed source base-color textures into an atlas, and rewrote the hidden item models to use Forge OBJ. Removed the required GLTF Renderer API dependency; the GLTF API jar can be removed. Source license and attribution are retained.

HELICOPTER CHASE CAMERA (1.0.33)
During the spectator-flight sequence, the camera now tracks from 12 blocks behind and 5 above the aircraft, looking toward it, instead of sitting at the model origin inside the fuselage. GLTF loading and model resources remain unchanged.

LOCAL VARIABLE TABLE OFFSET FIX (1.0.32)
Adjusted constructor debug/local-variable ranges for the early client GLTF initialization code so all bytecode offsets remain valid.

VERIFYERROR STACKMAP FIX (1.0.31)
The client-only initialization branch now has a valid JVM stack-map frame, fixing the reported VerifyError. GLTF registration still runs before model baking.

PATCH NOTES

MD500 GLTF ITEM-HANDLE FIX (1.0.29)
The GLTF item replacements now use the exact ResourceLocation keys exposed by the renderer API, including models/gltf/... and the .gltf extension, so the renderer can find the bundled body and rotor models instead of falling back to placeholder paper models. Lowercase resource paths, attribution, the Supplier fix, and the five-block-higher city arrival are retained.

Minecraft Forge 1.20.1 / Java 17

COMPACT HORROR HUD (1.0.25)
Reduced both in-game meters to 160x28 pixels, tightened their vertical spacing, and made their palette darker and more unsettling. The compact lettering ends clear of the divider so the line no longer crosses the A in STAMINA. The new scratched fills, eye/pulse icons, and worn frames are bundled in the T-Rex mod; no resource pack is required. Meter logic and old-boss-bar suppression are unchanged.
Validation: Java 17 bytecode compilation, HUD texture preview and dimensions, and archive CRC checks passed. Not tested in live Forge.

COMPONENT INTERFACE LINKAGE FIX (1.0.24)
Corrected boss-title text access to invoke the Minecraft Component interface rather than assuming it is a class. This fixes the IncompatibleClassChangeError in SurvivalStatsHud.hideOldStatusBossBars on Minecraft 1.20.1. The per-bar SANITY/STAMINA filter is unchanged.
Validation: Java 17 bytecode check confirms invokeinterface for Component.getString; selective boss-bar regression test passed; archive CRC passed. Not tested in live Forge.

HIDE LEGACY SANITY / STAMINA BOSS BARS (1.0.23)
Cancels only individual Forge boss-bar render events whose plain title is exactly SANITY or STAMINA, removing the old top bars without suppressing vanilla boss bars or other mod boss bars.

NATIVE SANITY / STAMINA HUD (1.0.22)
Added a client-side survival HUD drawn by the T-Rex mod itself (no external resource-pack installation). The two custom pixel textures are bundled under the mod assets. Bars sit in the lower-left HUD area, above the hotbar.
Stamina starts at 100, drains while sprinting, recovers when not sprinting, and stops sprint at zero. Sanity starts at 100, drains while an adult T-Rex is within 32 blocks (faster when it is targeting the player), and recovers slowly outside that range.
Values are client-local and reset when the player/world changes; they are not persisted or synchronized as a server-side attribute. Validation: Java 17 bytecode compilation, annotation/class-load check with API stubs, texture-dimension and ZIP CRC checks passed. Not tested in a live Minecraft/Forge session.

HIDE LEGACY SANITY / STAMINA BOSS BARS (1.0.23)
Cancels only individual Forge boss-bar render events whose plain title is exactly SANITY or STAMINA, removing the old top bars without suppressing vanilla boss bars or other mod boss bars.

NATIVE SANITY / STAMINA HUD (1.0.22)
Added a client-side survival HUD drawn by the T-Rex mod itself (no external resource-pack installation). The two custom pixel textures are bundled under the mod assets. Bars sit in the lower-left HUD area, above the hotbar.
Stamina starts at 100, drains while sprinting, recovers when not sprinting, and stops sprint at zero. Sanity starts at 100, drains while an adult T-Rex is within 32 blocks (faster when it is targeting the player), and recovers slowly outside that range.
Values are client-local and reset when the player/world changes; they are not persisted or synchronized as a server-side attribute. Validation: Java 17 bytecode compilation, annotation/class-load check with API stubs, texture-dimension and ZIP CRC checks passed. Not tested in a live Minecraft/Forge session.

NATIVE SANITY / STAMINA HUD (1.0.22)
Added a client-side survival HUD drawn by the T-Rex mod itself (no external resource-pack installation). The two custom pixel textures are bundled under the mod assets. Bars sit in the lower-left HUD area, above the hotbar.
Stamina starts at 100, drains while sprinting, recovers when not sprinting, and stops sprint at zero. Sanity starts at 100, drains while an adult T-Rex is within 32 blocks (faster when it is targeting the player), and recovers slowly outside that range.
Values are client-local and reset when the player/world changes; they are not persisted or synchronized as a server-side attribute. Validation: Java 17 bytecode compilation, annotation/class-load check with API stubs, texture-dimension and ZIP CRC checks passed. Not tested in a live Minecraft/Forge session.

CITY TETHER GROUND-LEVEL LANDING FIX (1.0.21)
Long-range tether recovery now searches only within 3 blocks above/below the player-level surface (was 24). The existing clear-space and nearby-support checks remain in place, so recovery prefers a valid supported landing near the street instead of selecting a high rooftop. No gravity, ordinary movement, attack, or pathfinding rules changed.
Validation: the modified instruction and control-flow were statically checked; archive CRC and entry audit passed. No live Forge/Minecraft test was available.

Defaults: AI enabled=true; API key blank; model=gemini-3.5-flash; consultAlways=true; request interval=4 s; request timeout=12 s. Scan radius remains 16; debug log remains false.

T-Rex-only navigation treats blocks tagged minecraft:logs and minecraft:leaves, plus mangrove roots/muddy mangrove roots, as air for path planning and navigation collision checks. Gemini terrain sampling uses the same filter. Stone, other solid blocks, fluids and hazards retain their normal classification. Existing physical collisions/tree destruction and mobGriefing rules are unchanged: this is not a general no-clip feature.

INSTALL
Close Minecraft. Back up the old JAR and config, then replace the old mod JAR in mods/ with this one. Do not install both copies together.
Existing config values override new defaults. In config/rexmod-common.toml, under [ai], set enabled=true, geminiModel="gemini-3.5-flash", consultAlways=true, requestIntervalSeconds=4 and requestTimeoutSeconds=12, or use Reset on the relevant settings. Keep your API key local. No API key is embedded in this mod.

The model ID is set exactly as requested; its availability was not verified against a live Gemini account. AI only activates once an API key is provided locally or via GEMINI_API_KEY.

VALIDATION
Bytecode checks: 6 changed/new classes, 55 methods, Java 17. New Minecraft member references checked against the Minecraft 1.20.1 SRG-mapped client. Stub-based JVM tests checked defaults, logs/leaves/roots filtering, stone preservation, region collision access and fluid preservation. No in-game Forge test or live Gemini request was performed.

MUSIC CONTINUITY FIX
Removed the automatic join-Fish fade-out when the T-Rex enters range. The active starting track continues looping while the roar plays normally. Chase music does not start over the active starting track. World-exit cleanup remains intact. All earlier defaults/model/tree-pathfinding changes retained.
Validated 3 music classes/9 methods with bytecode checks; 35 Minecraft runtime references resolve; stub-based JVM regression test verifies 300 nearby-T-Rex ticks without stopping, audible volume, no chase overlap, and world-exit cleanup. Not tested in-game.

CHASE ALARM - CURRENT SETTINGS
The supplied scary-shawarma-alarm plays as a separate OGG loop only when an adult, living T-Rex has been targeting the local player continuously for 20 seconds (400 game ticks), and is within 10 blocks of the player.
Delay begins when the chase target is acquired, not on the first successful damage hit. Losing or changing the target, becoming a baby, or dying resets the delay. The timer runs during the chase even outside the 10-block sound radius. The server synchronizes target identity and alarm readiness to clients without sending countdown updates every tick.
Volume ramps smoothly from 0% at 10 blocks or farther to 30% at 2 blocks or closer (15% at 6 blocks). The sound fades out on chase end or leaving the radius, and stops on world exit. Volume is relative to Minecraft's Master/Hostile Creatures sliders. Fish music and T-Rex roars continue independently.
All earlier defaults, API-key handling, Gemini model, tree pathfinding and music continuity changes are preserved.
Validation: stub-based JVM tests verify 399-tick silence and 400-tick readiness, radius boundary, 0-30% volume ramp, target-switch/lost-target resets, single looping playback, baby exclusion and world-exit cleanup. Bytecode checks verify 6 alarm-related/modified classes and 46 methods; 346 Minecraft/mod references resolve against Minecraft 1.20.1 mappings; Java 17. Not tested in-game.

ATTACK-CONFIRMED PRE-DEATH JUMPSCARE FIX
Diagnosis: RexHunt.onAttack cancelled the normal T-Rex attack and immediately applied generic-kill damage at Float.MAX_VALUE. That immediate kill could beat the previous client proximity trigger and cancel the effect before the client displayed it.
The actual T-Rex attack now queues a server-confirmed jumpscare for its specific victim. A dedicated synchronized entity-data value sends the victim's ID to the client. The client starts the 3D lunge and supplied jumpscare sound based on that confirmed attack, not a guessed six-block range or ordinary chase-target metadata.
The original instant-killing hit is postponed for 80 game ticks (about four seconds at the normal tick rate), giving the 3.2-second effect a short delivery/rendering allowance. Repeated T-Rex hits are held during this window; they do not restart or shorten it. At the deadline, the original generic-kill/Float.MAX_VALUE behavior is applied once. Only T-Rex attacks use this delay; other damage sources are unchanged, so other causes can still kill the player during the effect. Creative/spectator players remain excluded. Changing dimension/gamemode or otherwise dying clears the pending effect safely. Pending state uses weak references.
The effect remains live-HUD only and cancels on death/menu/world exit; there is no death-menu overlay. The 3D lunge, jaw animation, shake, supplied custom sound, roar and timed bite are unchanged. Fish music is not stopped.
All earlier configuration/model/tree-navigation changes and the quieter chase alarm (30% cap, 10-block radius, 20-second delay) are preserved.
Diagnostics: latest.log now records '[rexmod] Pre-death jumpscare queued...' on the server and '[rexmod] Started server-confirmed pre-death jumpscare...' on the client. Rendering exceptions continue to print their stack trace. These distinguish an attack/synchronization failure from a rendering failure if further troubleshooting is needed.
Validation: stub-based server/client tests reproduce the instant-kill race and verify cancelled first/repeated hits, synchronized victim ID, live model/custom-sound playback without proximity/chase metadata, 79-tick survival, exactly one original killing hit at 80 ticks, flag cleanup, death-menu exclusion, creative/spectator and other-damage handling. Alarm delay/radius/volume regression tests also passed. Bytecode checks cover 6 changed/new classes and 19 methods; 151 Minecraft/mod/Mojang references resolve for Minecraft 1.20.1 / Java 17. Not tested in a running Forge game.
INSTALL: Completely close Minecraft, replace the previous rexmod JAR in mods/ with this JAR, and restart. Keep only one rexmod JAR installed. In multiplayer, both server and client must use this updated version because synchronized entity data was extended.

WORLD-VISIBLE JUMPSCARE
Removed the solid full-screen black/dark-red backdrop and the ending fade-to-black. The real Minecraft world and HUD remain visible behind the animated 3D T-Rex throughout the effect. Only the model itself obscures the portion of the view it occupies.
The renderer flushes pending GUI buffers and clears only the depth buffer (OpenGL mask 256), never the world color buffer, before drawing the 3D model. This keeps the foreground model visible without replacing the scene. The model ends after the same 3.2-second animation without a full-screen black transition. Existing world vision/post-processing shaders are unchanged.
The server-confirmed attack trigger, four-second killing-hit delay, supplied jumpscare sound, roar/timed bite, model/jaw animation, shake, no-death-menu behavior, quiet chase alarm and all earlier settings/pathfinding/music changes are preserved.
Validation: 1 modified class, 11 methods bytecode checked, 114 Minecraft/mod/Mojang references resolved for Minecraft 1.20.1 / Java 17. Stub-based rendering tests verify zero full-screen fills across seven animation stages, depth-only clearing with no color clearing, textured model draw, pose/graphics restoration, sounds and death exclusion. The attack-confirmed server/client regression test also passed with the modified renderer. Not tested in a running Forge game.

CINEMATIC JUMPSCARE / BACKGROUND T-REX HIDDEN
World T-Rex models are temporarily culled on the local client while the jumpscare is active or the local player has a server-confirmed pending T-Rex killing hit. The foreground jumpscare model remains visible. Normal world T-Rex rendering returns once the attack window ends, on death, or in menus. No entity is removed or made permanently invisible on the server.
The improved model animation adds a brief wind-up/side lean, a faster lunging rush, impact overshoot, timed jaw snap, head tracking toward the fallen viewpoint, settling, and a retreat that reveals more of the world. The world/HUD stay visible; no black background or fade-to-black is drawn.
Camera choreography adds temporary yaw/pitch changes, a side roll reaching about 32 degrees, a backward recoil of up to 0.20 blocks, and a smooth camera-height drop of up to 1.10 blocks to simulate falling. An FOV pulse and impact-timed shake reinforce the bite. Camera motion blends back toward the normal viewpoint at the end. This is a camera-only fall: player coordinates, velocity and health are not changed by the camera effect. The existing four-second delayed killing hit remains unchanged.
Protected camera positioning is accessed through Forge's ObfuscationReflectionHelper using the Minecraft 1.20.1 SRG method m_90584_. If reflection is unavailable, rotation/FOV still run and one diagnostic stack trace is logged. Existing normal fear/bob camera effects are bypassed only while cinematic camera angles/FOV are active and resume afterward.
Supplied jumpscare sound, roar/timed bite, server-confirmed attack trigger, quiet delayed chase alarm, Fish continuity, Gemini/default settings and tree navigation changes are preserved.
Validation: 4 changed/new classes, 38 methods bytecode checked, 310 Minecraft/mod/Mojang references verified for Minecraft 1.20.1 / Java 17. Stub-based cinematic tests check bounded motion curves, camera lowering/recoil/rotation/FOV, no player position/health mutation, foreground textured mesh rendering over the world, shared-pose/graphics cleanup, temporary background-rex hiding including the pending-attack window, and automatic restoration on completion/death/menus. Server-confirmed attack/delayed-kill regression tests passed with the new renderer. Actual-model offline previews were inspected for wind-up, impact and falling-view head poses. Not tested in a running Forge game.

CURRENT: LIVE WORLD-SPACE 3D ENTITY JUMPSCARE
The earlier jumpscare was already a live skinned 3D mesh, not a video, but it was composited on the HUD. This version removes that screen-space model draw entirely and animates the actual attacking T-Rex through TRexRenderer in the world render pass. No video playback, video frames, HUD cutout or black background is used.
The real entity's skeletal mesh is posed each frame with a lunging step, moving head/neck, jaw opening and timed bite. Presentation movement is measured in world blocks at a uniform model scale, with world perspective, normal world depth/terrain occlusion and frame interpolation. The head is given a soft cinematic light boost in dark scenes. The misplaced ground shadow is suppressed only for the cinematic actor. Other background T-Rex models remain hidden during the scene; the actual actor remains visible and is exempted from normal frustum culling while animated.
The camera turns toward and tracks the moving world-space head, rotates/recoils and falls toward ground level. It holds the fallen view through the server-confirmed pending attack window, then returns to normal rendering on death/scene end/menu. Character position, collision geometry and server movement are not teleported: cinematic positioning and camera drop are client-side visual presentation only. The four-second delayed killing hit is unchanged.
The HUD callback now only manages effect lifetime and the timed bite sound. It emits no model geometry, draws no background and clears no render buffers. Foreground world geometry is emitted only from the actual entity-render hook. Shared pose/skin buffers and the world pose stack are restored after each draw.
Supplied jumpscare sound, roar/bite, attack-confirmed triggering, quiet delayed proximity alarm, music continuity, AI/default settings and tree pathfinding changes are preserved.
Validation: 4 changed/new classes, 47 methods bytecode checked, 372 Minecraft/mod references resolved for Minecraft 1.20.1 / Java 17. Stub-based JVM tests verify zero HUD model draws or color/depth clears, actual actor selection/world mesh emission, uniform world-unit scale and displacement, world lighting fill, camera head tracking/fall, pose cleanup, scene continuity until pending-hit completion, and normal restoration. Server-confirmed delayed-kill tests passed with the world-render hook. Not tested in a running Forge game.
INSTALL: Close Minecraft, replace the previous rexmod JAR, and restart. For multiplayer, use the matching updated JAR on both client and server.


DYNAMIC LIVE 3D JUMPSCARE UPDATE
- Staged wind-up and side-to-side weight shift, closer lunge, timed jaw snap, neck/head recoil and follow-up snarl.
- Secondary chest breathing, head tilt, arm reach, tongue motion, and delayed segmented tail counter-swing applied to actual skinning matrices.
- Camera tracks the transformed live head, rotates/falls with impact, bounces and settles with gentle residual movement. Camera recoil is included in face tracking.
- Removed the 3.2-second pose clamp: skeletal motion continues through the pending pre-death attack window, rather than freezing on its last pose.
- Actual world/depth rendering, background-Rex hiding, supplied jumpscare sound, 80-tick delayed original killing hit, and all prior AI/music/alarm/navigation fixes retained.
- Changes confined to three client helpers; all other code and assets unchanged.
VALIDATION: Java 17 bytecode and Minecraft/Forge/mod member references checked; stub JVM regressions for world rendering, sound cue and server-confirmed pre-death trigger passed; 241 offline actual-mesh samples checked for finite transforms and close-up spacing. No Minecraft/Forge runtime available; NOT tested in-game.


REFERENCE-BASED NARROW T-REX MODEL/TEXTURE UPDATE
- Narrowed skull and cheeks; removed excessive widening from the initial preview. Slimmer/shorter snout, softened/lowered brow ridge and rear crest, adjusted chin.
- Reference-inspired grayscale skin, pale muzzle, dark facial shading and round bright eyes. Face colors use the supplied illustration, blended with existing skin detail. Unseen sides/back remain approximations, not an exact reconstruction from one image.
- Rebuilt head UVs into independent padded tiles to avoid mirrored/reused UV conflicts; 4096-square body/face atlas, 1024-square eye atlas.
- Rig remains 161 joints and all original idle/walk/run animation bytes remain unchanged. Original 24,423 face quads retained; skinning vertices duplicated/remapped for new UV islands. Repaired inherited zero normals.
- Only eye material is fullbright; normal body lighting retained.
- All previous animation helpers, pre-death trigger, camera behavior, sounds, AI defaults, tree-navigation and delayed chase alarm retained byte-for-byte.
VALIDATION: actual model-loader, skinning and emit code exercised with stubbed resource/graphics APIs; 241 live-animation samples finite with unit normals; eye-only lighting verified. Front, angled and open-jaw offline previews inspected; binary/PNG/animation-tail and ZIP audits passed. Not tested in Minecraft/Forge itself.


BALANCED HEAD AND REFERENCE-BASED BODY REVISION
- Restored a moderate head width between the previous thin result and the initial overly wide preview. Kept the narrowed muzzle, lowered brow/crest and round bright eyes.
- Tapered bulky upper torso/shoulder regions, added modest front-chest fullness for a rounded silhouette, reduced forelimb size with a smooth shoulder-anchored transition.
- Added shallow physical neck folds and reference-derived neck/chest shading. Softer grayscale skin detail now blends across torso and forelimb surfaces.
- Rebuilt padded face/body UV tiles in the 4096-square texture atlas. Original 161-joint rig, all idle/walk/run animation bytes and 24,423 mesh faces retained. Skinning vertices remapped/duplicated only for revised UV islands.
- Existing animation helpers, server-confirmed pre-death trigger, camera, audio, AI settings, navigation and alarm behavior unchanged. No class files changed in this revision.
VALIDATION: original model loading/skinning/mesh emission code with stubbed graphics/resource APIs successfully loaded the revised asset; 241 dynamic animation samples finite with unit normals; frontal, angled and open-jaw offline previews inspected; PNG/model/animation-tail/ZIP audits passed. Not tested inside Minecraft/Forge.
REFERENCE LIMIT: This is a closer one-view visual interpretation. Unseen sides/back and anatomy cannot be verified as an exact reconstruction.


EYE / SKIN CLEANUP + LOCALIZED THIGH SLIMMING
- Slimmed both marked upper hind-leg bulges with a smooth knee/hip taper. Lower-leg/foot geometry and leg height retained; no non-leg geometry changed.
- Replaced ambiguous mirrored spherical eye UVs with a front-facing oval iris map. Small grey pupils, a compact pale core and layered dark iris/limbal rims follow the supplied reference more closely.
- Repainted the cheek, jaw, temple and neck areas with reference-derived grayscale skin tones, a pale muzzle, dark sockets and fine grain sampled from the supplied illustration. Removed prior low-frequency mottled material shading.
- Assigned each skin quad its own padded UV island, preventing unrelated surfaces from sharing texture pixels. Tooth enamel restricted to isolated mouth mesh components instead of guessed bone IDs. Mouth cavity shading separated from exterior skin.
- Face count, rig and all idle/walk/run animation bytes retained. Vertices duplicated/remapped only for independent UVs; every face retains its validated position, normal and skinning weights.
- All code, audio, config, shaders, camera / 3D jumpscare logic and earlier behavior fixes unchanged.
VALIDATION: actual model loader/skinning/mesh emitter exercised with stubbed resource/graphics APIs; 241 dynamic samples finite with unit normals; body lighting and eye-only fullbright retained. Frontal, angled and open-jaw offline previews inspected. Geometry/UV/animation-tail/PNG/ZIP audits passed. Not tested in Minecraft/Forge or for in-game performance.
REFERENCE LIMIT: One-view reference-based interpretation, not a guaranteed 100% reconstruction of unseen anatomy, surfaces or lighting.


RESTORED SKIN DETAIL
- Restored higher-frequency reference detail and anatomically mapped skin grain/creases after the previous smoothing pass.
- Kept the cleaned-up eye map, matte grayscale tones, independent padded UVs, thinner thighs and protected mouth/tooth shading.
- Only skin texture and these notes changed relative to the eyes/skin/thighs build. Model, rig, animation, code, audio and all other entries are byte-identical.
- Frontal, angled and open-jaw offline previews inspected; PNG and ZIP checks passed. Not tested in Minecraft/Forge.


SUBTLER REFERENCE-FOCUSED DETAIL
- Slightly reduced skin grain, pore and crease overlays, with extra restraint on front-facing cheeks and muzzle.
- Modestly increased the supplied illustration contribution to facial and neck shading, retaining its bridge and neck folds rather than adding generalized scales.
- Model, eyes, thinner thighs, animations, sounds, code and all other assets are unchanged. Only skin texture and patch notes changed.
- Frontal, angled and open-jaw offline previews inspected. Not tested in Minecraft/Forge. One-view texture interpretation, not an exact 3D reconstruction.


T-REX VISION-EFFECT EXCLUSION + LOCALIZED SIDE-PROFILE REFINEMENT
- Added a dedicated opaque, normally lit T-Rex material. RGB, fog, overlay and depth behavior match the vanilla entity cutout material, with an alpha-channel object tag for postprocessing. No transparency/blending or body fullbright added.
- Both normal world rendering and the 3D jumpscare use this material, covering skin and eyes. The vision pass preserves tagged T-Rex RGB rather than applying grayscale, contrast, vignette or film grain; untagged world-pixel effect math is unchanged. Eye-only fullbright retained.
- Added tag preservation to the standard Fabulous transparency compositor for unoccluded T-Rex pixels; foreground translucent pixels continue receiving the world effect. Third-party shader packs/postprocessing are not verified.
- Reduced the hanging lower-jaw/cheek mass with a localized smooth lift/taper and transformed normals. Upper head, eyes and all non-jaw-weighted vertex positions retained. UVs, textures, mesh topology, rig, skinning weights, all animation bytes and audio retained exactly.
VALIDATION: shader fragments compiled offline using WebGL-compatible syntax translation; 2048-pixel GPU check confirms tagged original RGB is preserved and untagged effect output matches prior shader byte-for-byte. Shader callback/cache checked with stubs. Model topology/rig/animation and ZIP CRC audited; frontal, side and open-jaw offline previews inspected. Offline tests are not a Minecraft/Forge runtime or shader-pack compatibility test.


NEW LOWER-POLY BROWN REFERENCE-INSPIRED MODEL
- Rebuilt the creature with new lower-poly topology rather than merely editing the old head. Existing shaped/rigged surface used as the anatomical starting point; new mesh topology, UV atlas, natural brown skin and amber-eye assets created. This is a reference-inspired retopology/rebuild, not the photographed artist original or a guaranteed exact reconstruction.
- 5,279 skin render faces (2,157 paired true quads plus triangle faces encoded for the QUADS emitter), plus 320 new eyeball faces; 21,468 render vertices. Body and skin topology differ from the prior 24,423-face / 94,814-vertex model.
- Longer nasal silhouette, broad flatter forehead, reduced hanging jaw; reference-like torso, smaller forelimbs, muscular hind limbs and tapered tail.
- New anatomy-mapped brown coloration, darker eye sockets, restrained fine skin detail, ivory teeth, dark claws and recessed amber irises. Amber eyes use normal passed-in lighting instead of the earlier pale-eye fullbright override.
- Original skeleton animation payload retained byte-for-byte; new mesh rebound with nearest-surface barycentric weight transfer. This preserves existing animation sequences but changes the mesh/bindings, not the animation bytes.
- T-Rex vision-effect exclusion retained: the world effect skips the creature. All effect shaders, sounds, config, AI and other gameplay classes are unchanged from the unfiltered-T-Rex build.
VALIDATION: valid model header/index/UV/normal/weight ranges; all PNGs decoded; original animation payload verified; ZIP CRC checked. Front, true-side, full-body and open-jaw offline previews inspected. Loader/skinning/mesh-emitter regression uses stubbed Minecraft/graphics APIs, not a Minecraft/Forge runtime test. Third-party shader packs and in-game performance remain unverified.


EXACT UPLOADED T-REX ASSET REPLACEMENT
- Replaced the reference-inspired approximation with the uploaded glTF mesh: all 23,856 source vertices and 42,520 source triangles. Triangle winding and UV layout retained; triangles encoded as degenerate quads for the existing renderer. No retopology, decimation, sculpting or generated eyes. Only uniform scale and model placement applied.
- Uploaded original base-color PNG copied byte-for-byte. The source UVs, source normals, source four-way skin weights and complete face connectivity are retained. Original source joints remapped onto the existing 161-slot runtime rig; locomotion matrices retargeted relative to the former rest pose. Existing chase/head-look/jaw/jumpscare logic remains unchanged. Rig transfer keeps the feet/hands coherent and closes the uploaded open-mouth bind pose in baseline animation, so existing jaw animation does not double-open it.
- Every Java class, sound, shader, config and other gameplay asset remains byte-for-byte unchanged from the preceding JAR. The existing vision-effect T-Rex exclusion is retained.
- Model attribution and full uploaded source/license included under assets/rexmod/source_trex/.
- Original texture appearance is subject to Minecraft lighting and material rendering; the mod does not implement the glTF PBR material. Source import and offline/stub runtime tests do not constitute an in-game Minecraft/Forge test.


USER-AUTHORED T_REX.BLEND ANIMATIONS
- Exported Idle, Walk and Run directly from the uploaded native rig; no generated motion or old-skeleton retargeting. Uploaded 23,856-vertex / 42,520-triangle mesh, uploaded source skin weights, UVs and packed texture retained. Fixed global coordinate conversion and uniform scale only.
- Idle 4.0 seconds, Walk 62/30 seconds, Run 1.4 seconds; Blender interpolation baked at 60 samples per second. Loop endpoints verified. The animated idle is now sampled continuously, rather than freezing on its first frame. Run natural cadence follows the uploaded 1.4-second cycle.
- Each of the 86 source joints has a unique compatible runtime slot; model uses 164 slots. Head/neck aiming pivots updated to the uploaded rig.
- Attack_Throw is baked, loaded and available (125/30 seconds), but NOT hooked to a trigger yet: normal attack versus cinematic jumpscare requires user confirmation. Existing combat and jumpscare trigger/camera code is unchanged.
- Sound files, shaders, AI/server gameplay, config and T-Rex black-and-white vision-effect exclusion resources/classes are unchanged. This is a visual rig/animation integration, not an AI/gameplay rewrite.
- Validation: native Blender/export position agreement within 0.000002 model units at sampled poses; 699 actual-loader skinning samples finite with unit normals; idle/run and aim integration checked; archive CRC and changed-entry audit passed. Source pose previews inspected. Minecraft/game APIs used in regression are stubbed: NOT tested in a live Minecraft/Forge runtime.


USER-AUTHORED T_REX.BLEND ANIMATIONS
- Exported Idle, Walk and Run directly from the uploaded native rig; no generated motion or old-skeleton retargeting. Uploaded 23,856-vertex / 42,520-triangle mesh, uploaded source skin weights, UVs and packed texture retained. Fixed global coordinate conversion and uniform scale only.
- Idle 4.0 seconds, Walk 62/30 seconds, Run 1.4 seconds; Blender interpolation baked at 60 samples per second. Loop endpoints verified. The animated idle is now sampled continuously, rather than freezing on its first frame. Run natural cadence follows the uploaded 1.4-second cycle.
- Each of the 86 source joints has a unique compatible runtime slot; model uses 164 slots. Head/neck aiming pivots updated to the uploaded rig.
- Attack_Throw is baked, loaded and available (125/30 seconds), but NOT hooked to a trigger yet: normal attack versus cinematic jumpscare requires user confirmation. Existing combat and jumpscare trigger/camera code is unchanged.
- Sound files, shaders, AI/server gameplay, config and T-Rex black-and-white vision-effect exclusion resources/classes are unchanged. This is a visual rig/animation integration, not an AI/gameplay rewrite.
- Validation: native Blender/export position agreement within 0.000002 model units at sampled poses; 699 actual-loader skinning samples finite with unit normals; idle/run and aim integration checked; archive CRC and changed-entry audit passed. Source pose previews inspected. Minecraft/game APIs used in regression are stubbed: NOT tested in a live Minecraft/Forge runtime.

GROUND-AXIS BODY-PITCH FIX
- The prior mesh-alignment export inadvertently rotated Blender's vertical ground axis by 21.9207 degrees. Corrected to Blender Z-up -> Minecraft Y-up exactly; only heading (yaw), a fixed uniform unit scale and placement are applied. No per-bone edits to the uploaded animation poses.
- Idle foot plane aligned to entity ground, and head/neck aiming pivots recalculated in the corrected coordinate basis.
- Source animation curves, loop timing, skin weights, UVs and packed texture retained. Attack_Throw remains inactive pending trigger choice. Sounds, AI, gameplay, camera-trigger logic and B&W exclusion unchanged.
- 699-loader-sample regression and Blender/export agreement passed. Level idle, walk and run previews visually inspected. Live Minecraft/Forge behavior remains untested.


GAIT-MATCHED WALK / RUN TRAVEL
- Recalibrated normal walk/stalk and chase/melee land input speeds using planted-foot motion from the uploaded clips. Verified vanilla Mob/MoveControl/LivingEntity input-to-motion equations on normal 0.6-friction ground; server speed calibration is not a live terrain test.
- Client phase now integrates actual per-tick displacement against cyclic stance-contact distance profiles. Removed the fixed run clock, forced walking minimum cadence and unrelated legacy stride clamp. Locomotion phase freezes immediately when blocked/stopped, with a short fade to the uploaded idle. Walk/run hysteresis uses the calibrated speeds.
- Baby movement/cadence scaled consistently; fluid navigation speed requests untouched. Teleport jumps do not burst through animation phases.
- Existing entity methods other than the private client animation tick remain instruction-identical; added a land-speed override. Navigation/path choices, attack/damage logic, config, sound assets, shaders and B&W T-Rex exclusion code unchanged.
- The level-body mesh/animation binary and textures remain byte-for-byte unchanged. Uploaded bone poses and clip data were not edited. Attack_Throw remains inactive pending trigger selection.
- Validation: independent foot-motion arithmetic checks; calibrated dry-ground motion model, distance integration over complete cycles, zero/blocked movement, baby scale, fluids, gait hysteresis, idle settling; ASM dataflow and unrelated entity-method audit; 699 authored loader/skinning samples and animation/aim regressions. These use game API stubs, not a live Minecraft/Forge runtime.
- Expected to reduce stance-foot sliding; turns, terrain, slopes, ice, acceleration, authored toe/heel rolling and collisions can still cause residual movement. No full world-space foot IK or zero-slip guarantee is claimed.


UNIFORM 1.5X T-REX SIZE
- Enlarged current adult and baby models by exactly 1.5 on all axes (render scales 1.25 -> 1.875, baby 0.375 -> 0.5625). Existing age proportions retained.
- Uniform collision-dimension multiplier 1.5; eye height follows the larger dimensions. Shadow radius and render-culling margins scaled consistently. Existing maximum step height, health, damage, goal selection and navigation logic are not changed.
- World jumpscare render scaling and camera head-position scaling both updated to 1.875. Camera/scare timing and sounds untouched.
- Contact-stride profiles, target land travel and gait thresholds multiplied by 1.5 to preserve clip cadence with longer legs. Movement input multiplied by sqrt(1.5), matching verified quadratic ground-motion math. Baby and fluid policies retained.
- User animation/model binary, original texture, corrected ground-axis basis, shader assets and unfiltered T-Rex material calls preserved. Attack_Throw remains at its previous inactive state.
- Scale and dimension hooks checked with ASM dataflow, pure size-factor comparisons and gait regression. Live Minecraft/Forge rendering and collision behavior are not tested.


TAIL PHYSICS
Client-side per-entity damped spring chain over 12 tail joints. Turn lag, lateral and vertical inertia, progressive tip response, bounded angles and smooth settling. Game-time updates avoid repeated-render integration. Resets after teleport, death or long visibility gaps. No tail collision or damage hitbox; cinematic actor unchanged. 1.5x body scale, gait tuning, authored model and animations, textures, sounds and vision-effect exclusion retained. Offline tests and software previews only; not Minecraft play-tested.


BLOCK-REACTIVE TAIL
Added client-only solid-block collision-shape sampling and bounded tail-chain deflection layered after spring inertia. Queries real block collision sub-boxes (including non-full cube shapes), uses smoothed render yaw and adult/baby scale, and relaxes when clear. Collision queries limited to 20Hz and 512 boxes. Visual approximation, not a rigid-body or continuous swept collision solver; clipping can remain in confined spaces/fast motion. No block breaking, damage, entity pushing or hitbox changes. Cinematic actor unchanged. Offline tests and contact previews only; not play-tested in Minecraft.


CHEST BLOCK-CONTACT REACTION
Added subtle upper-body recoil driven by solid block collision-shape contacts around the chest. Front and side contacts push/lean the chest away, with spring-damped recovery after contact clears. Feet, pelvis and tail joint matrices untouched by this helper. Contact queries use actual smoothed render yaw, interpolated entity position and adult/baby scale, with 20Hz/128-shape budgets. Existing tail physics and block deflection preserved. No gameplay, hitbox, block breaking, entity pushing, or cinematic changes. This is a bounded visual recoil, not full-body collision resolution; clipping may remain with deep obstacle penetration. Offline regression and software previews only; not Minecraft play-tested.


HEAD BLOCK-CONTACT REACTION
Added independent head/neck visual contact recoil after normal head tracking, chest and tail contact. Twelve skull, snout and animated-jaw probes query solid block collision shapes. Side contacts turn away, overhead contact ducks the head, and frontal contact adds bounded recoil. Spring-damped recovery restores the normal animated/tracked pose when clear. Jaw opening and all non-head/neck joint matrices are unchanged by this helper. Uses actual smoothed body yaw, interpolated actor position and adult/baby scales; 20Hz and 128-shape query budgets. Existing 1.5x size, mesh/animations, chest/tail helpers, gait tuning, sounds, textures and vision exclusion preserved. No gameplay, hitbox, block-breaking, pushing or cinematic changes. Approximate visual response, not full rigid-body collision: clipping can remain with deep penetration or fast movement. Offline tests and software previews only; not tested in Minecraft.

ATTACK_THROW JUMPSCARE
- The jumpscare now plays the model's authored Attack_Throw animation (grab and throw) on the real T-Rex instead of the old procedural lunge/jaw/head/arm posing. The animation plays once at its authored speed (4.17 s), then the model holds the idle pose until the scene ends.
- Camera movement is unchanged: yaw/pitch/roll, drop, recoil, FOV, shake, head tracking and the scene length (6.5 s) use the same code and timings as before. The camera still aims at the live head joint, so it follows the new animation's head motion.
- Only WorldJumpscare.pose() changed. Server-confirmed trigger, 80-tick delayed kill, sounds, AI, music, alarm and block-reaction features are untouched.
- Not tested in a running Minecraft/Forge game. The patched method was checked with the JVM verifier against stub model classes.

NEW JUMPSCARE CAMERA MOVEMENT: PUSH, IMPACT, FALL
Camera curves (CinematicJumpscare yaw/pitch/roll/drop/recoil/fov) now come from CamMove. Slow dolly-back with zoom-in while locked on the T-Rex head (no sideways whip), FOV blast + head-snap + short jolt at the bite, then a gentle fall to the ground (max tilt ~18 deg, ends at 12) with fading heartbeat pulses. Camera-only; timing, sounds, model animation and delayed kill unchanged. Not tested in a running Forge game.


JUMPSCARE: T-REX LOOKS AT YOU
- During the world jumpscare the T-Rex's neck and head now track the player's camera for the whole scene. Eases in over the first 0.3 s, then keeps the snout pointed at your eyes through the Attack_Throw animation.
- Implemented by the new com.rexmod.client.JumpscareLook, called at the end of WorldJumpscare.pose(). It reuses the existing HeadLook neck/head rotation (iteratively solved against the live head joint so the snout actually lands on the camera) and allows a wider twist than normal head tracking (up to 150 deg yaw / 100 deg pitch down) because the head ends up almost above the player.
- WorldJumpscare: pose() gets one extra call; base() and angle() made public. Camera movement, timing, sounds, AI, kill delay and animation clips are unchanged. The helper swallows any error so it can never break the scene.
- Not tested in a running Minecraft/Forge game. Checked offline against the real model/animation data with stubbed game classes: snout-to-camera error ~0.2 deg for most of the scene.

ATTACK TENSION (screen gets tenser as the T-Rex closes in)
While an adult T-Rex is hunting/attacking the local player (targeting you, or the pre-death jumpscare victim) the screen builds tension the closer it gets. It starts at 32 blocks and peaks at 3 blocks: stronger camera shake (up to about 2.2x extra on top of the existing fear shake), faster heartbeat thump, FOV squeeze of up to 15 degrees (tunnel feeling) and a dark-red vignette closing in from the screen edges that pulses with the heartbeat. It eases in quickly and fades out smoothly when the T-Rex loses you. Client-side visuals only; no gameplay, AI, sound or jumpscare changes. New class AttackTension, patched CameraFx. Tunable constants (FAR/NEAR distances, shake/FOV/vignette strengths) are in AttackTension. Not tested in a running Forge game.

ATTACK-TRIGGERED CAMERA TENSION + JUMP SPEED FIX
Camera tension (shake, FOV pinch, heartbeat rate and edge vignette) no longer builds as the T-Rex approaches or chases. AttackTension now only reacts to the server-confirmed T-Rex attack (the same SCARE_TARGET value that starts the jumpscare), and ramps to full strength immediately on that attack regardless of distance. It fades out when the attack window ends. The chase target and distance are no longer used.
Because the jumpscare camera normally bypasses the regular camera effects, the tension FOV pinch and a small yaw/pitch/roll shake are now also layered on top of the cinematic jumpscare camera (AttackTension.cinFov / cinAngles, hooked from CameraFx).
Jump speed: vanilla adds a +0.2 blocks/tick horizontal boost to sprint-jumps, which is huge next to the reduced player speed (0.07) and made jumping much faster than running. RexHunt.onJump (LivingJumpEvent, client and server) removes that boost for players, so a jump keeps the same horizontal speed as running.
Not tested in a running Forge game; classes were patched at bytecode level (3 classes changed). Replace the previous rexmod JAR; for multiplayer use the same JAR on client and server.

GRADUAL ATTACK TENSION (builds up instead of hitting full strength instantly)
When the T-Rex's attack lands, the camera tension (shake, FOV pinch, heartbeat rate, edge vignette) now builds up smoothly from zero to full strength over about 3 seconds, instead of jumping to maximum immediately. Linear build-up while the attack is active; it still fades out quickly (about 0.8 s) when the attack window ends. Trigger is unchanged (server-confirmed attack, SCARE_TARGET).
Only AttackTension.update() changed (rise/fall smoothing). To tune: the rise speed is the float constant 0.35 (1/seconds-to-full) in AttackTension's constant pool. Not tested in a running Forge game; the patched class was verified with the JVM verifier (-Xverify:all) and a stub simulation of the ramp.

HIDE IN HOUSES (T-Rex slowly destroys the building you hide in)
New class com.rexmod.RexShelter (auto-registered like the other event classes); RexSmash.smash patched with one early-exit hook.
- Sheltered: you count as "hiding" when you stand inside a roofed, mostly enclosed room built from building blocks (the same material list the T-Rex can smash: planks, logs, bricks, cobblestone, glass, doors, stairs, slabs, wool, concrete, ...). Roof test: at least 6 of the 9 columns around you have such a block 2-8 blocks above. Wall test: looking in 8 directions at eye height, at least 6 directions (and 3 of the 4 straight ones) hit such a block within 8 blocks. Leaves, natural stone/dirt/caves do NOT count, so this means houses/bunkers/structures, not just holes in the ground.
- While you are sheltered the T-Rex cannot bite you through walls: its attack is cancelled unless both its eye and its mid-body have a clear line to your eyes.
- When the T-Rex is hunting a sheltered player within 18 blocks it stops instantly bulldozing the building. Instead it gnaws one block at a time on the nearest blocks between it and you (9 rays: 3 widths x 3 heights), showing the block crack animation. Time per block = 1.5 s + 1 s per point of hardness (planks about 3.5 s, glass about 1.8 s, doors about 4.5 s). Leaves are still smashed instantly so it never gets stuck on foliage.
- Once enough wall is gone for a clear view (and when you leave or the shelter test fails) normal behaviour returns: it can bite you and smash instantly again. Materials the T-Rex cannot break (stone, dirt, obsidian, ...) protect you permanently. With the mobGriefing gamerule off it cannot break anything, so a sealed house is permanently safe.
- Unchanged: detection range, chase/stalk AI, tether, jumpscare, music, tension camera, jump fix.
- Tunable constants at the top of RexShelter: SIEGE_RANGE 18, BASE_TICKS 30, TICKS_PER_HARDNESS 20, REACH 5.5, MIN_WALLS 6, MIN_CARDINAL 3, MIN_ROOF_COLUMNS 6, WALL_RANGE 8.
- Not tested in a running Forge game. Compiled for Java 17 against stubs; all 32 Minecraft member references were checked against the 1.20.1 SRG mappings; patched RexSmash verified by the JVM verifier; shelter detection, bite-blocking and slow demolition were run in an offline simulation.


NEW HIDEOUT STRUCTURE
The hideout is replaced with the model from minecraft_house.blend, converted cube-for-cube into blocks (1 Blender unit = 1 block): a 17x26x17 two-story house with tower, ivy, porch, chimney, path and crate. Hideout.class placement radius widened from 3 to 8 (17x17 footprint). Pines, grass plane, fence trim and smoke from the scene are not included. Not tested in-game.


CINEMATIC MONOCHROME HORROR ATMOSPHERE (1.0.35)
Refined the existing Rex-vision post effect toward a dark, unsettling monochrome look: unified grayscale grading across the scene and T-Rex, deeper mids, a soft central visibility pool, heavy gradual vignette, and subtle film grain. Gameplay, AI, HUD, sounds, and the separate MD500 resource pack are unchanged.
Validation: shader source and JSON structure checked; archive CRC passed. Not tested in a live Forge/Minecraft session.


GLOWING WHITE T-REX EYES (1.0.36)
Raised the opacity of the dedicated white eye overlay to full and preserved near-white T-Rex eye pixels through the monochrome atmosphere grade for a bright, glowing-white look. All earlier atmosphere changes remain.
Validation: eye texture alpha, shader patch, archive CRC, and unchanged-entry audit passed. Not tested in a live Forge/Minecraft session.


BALANCED HORROR LIGHTING (1.0.37)
Adjusted the monochrome grade to better match the reference: the T-Rex's shadows and midtones are lifted for visible face/body detail, while the surrounding world and frame edges stay deeply dark. The central readable area is broader, film grain is softer, and the glowing white eyes remain bright.
Validation: shader source, version, and archive CRC checked. Not tested in a live Forge/Minecraft session.


WOODED FLAT FOREST WORLD GENERATION (1.0.38)
Added a Wooded Flat Forest world preset and set the Normal preset's Overworld generator to the same layout: a level grass surface over shallow stone/dirt, with the dark-forest biome's dense tree decoration enabled. Nether and End generation remain vanilla. Existing worlds/chunks are not retroactively changed; create a new world to use this terrain.
Validation: both world-preset JSON files and language JSON parsed; archive CRC and unchanged-entry audit passed. Not tested in a live Forge/Minecraft session.


BRIGHTER WORLD VISIBILITY (1.0.39)
Raised the monochrome shader's ambient shadow floor and midtone visibility while retaining the dark vignette and white T-Rex eyes. Changed the wooded-flat preset from Dark Forest to Forest for a less canopy-dark, still tree-filled new world. Existing worlds retain their saved terrain and biome.
Validation: world preset JSON, shader patch, archive CRC, and targeted-diff audit passed. Not tested in a live Forge/Minecraft session.


BALANCED ATMOSPHERE (1.0.40)
Dialed back the world shadow lift to prevent a washed-out gray look while keeping low-light terrain visible. Restored the denser Dark Forest biome in the flat-woodland presets; glowing white eyes and T-Rex detail lift remain.
Validation: shader and world-preset JSON parsed, archive CRC and changed-entry audit passed. Not tested in a live Forge/Minecraft session.


HELICOPTER CITY-CENTER LANDING (1.0.41)
After building the city, the helicopter now touches down at the center road crossing (the city grid midpoint); the player is placed above the same spot. The existing arrival sequence and city layout are preserved.
Validation: city-grid midpoint derived from template placement offsets; landing function, version, ZIP CRC, and targeted-diff audit checked. Not tested in a live Forge/Minecraft session.


SLIGHT PLAYER SPEED BOOST (1.0.42)
Players receive a small +10% base movement-speed increase. A guarded base-speed check reapplies it after player resets without changing sprint-stamina rules.
Validation: function references, objective setup, archive CRC, and changed-entry audit checked. Not tested in a live Forge/Minecraft session.
