Skip to content

Debug Rendering

AntonIT99 edited this page Oct 17, 2026 · 6 revisions

Updated for version beta-6.

Debug mode draws coloured dots, vectors and boxes in the world so that content-pack authors can see where the mod thinks muzzles, seats, hitboxes and bullet impacts are. This page lists every marker and what its colour means.

Contents

Turning it on

Press F10 (default) to toggle debug mode. The toggle needs operator permission, the same as the /flandebug commands. Markers are drawn through blocks and other geometry, so a point hidden inside a hull is still visible.

Markers come in two lifetimes:

  • Live markers (driveables, AA guns) are redrawn every tick and follow the entity as it moves, turns and aims.
  • Event markers (shots, impacts, melee, the shooter's eye) are left where the event happened and fade after about 50 seconds (10 seconds for melee swings), so you can walk around a burst of fire and inspect it.

Shot, impact and melee markers are produced by the hit simulation. In singleplayer you see all of them; on a dedicated server you only see those your own client simulates.

Driveables

Every vehicle, plane and mecha in view shows these markers. A dot marks a point; the vector drawn from it shows a direction and is two blocks long.

Colour Dot Vector Meaning
Cyan ✓ ✓ Primary shoot point as authored in the type file, with the direction the primary weapon fires in
Orange ✓ ✓ Secondary shoot point as authored, with its firing direction
Green ✓ ✓ Passenger gun GunOrigin as authored, with the direction that gun fires in
Yellow ✓ ✓ A shoot point or GunOrigin moved with /flandebug shootpoint (replaces the colour above)
White ✓ A muzzle measured from the loaded model
Blue ✓ ✓ (up) Driver seat
Magenta ✓ ✓ (up) Passenger seats

Cyan, orange, green and yellow markers show where projectiles are really spawned. They follow the turret, the barrel pitch and each gunner's aim.

A turret shoot point pitches round the rotation point of the barrelModel section it is built on, as the renderer draws that section, so a machine gun modelled on the turret roof tilts in place instead of swinging round the main gun's trunnion. A point more than 3 model pixels from every barrel section pitches round the main gun's pivot. The server receives these pivots with the driver's input, since only the driver's client has the model.

White markers: measured muzzles

A white dot is where the muzzle is according to the model's geometry, rather than the type file. The mod finds the forward face of the vehicle's main barrel and of every registered passenger gun, then applies the same scaling (ModelScale, the vehicle gun scale, turret scale) and rotations the renderer uses. White dots therefore follow the turret and each passenger gun's aim as well.

A twin or quad mount gets a white dot on every barrel it draws, and fires from each of them in turn, so its cyan or green marker is drawn once per barrel too, spread round the authored point. See Twin and quad mounts.

When a white dot and the coloured dot beside it do not coincide, the definition's shoot point is off by the gap between them. /flandebug shootpoint list prints that gap as numbers, together with a ready-to-paste type-file line. See Shoot Point Debugging.

Limits of the measurement:

  • It finds the part of the barrel geometry that reaches furthest forward. A model with something built in front of the muzzle, such as an aerial or a bulldozer blade in the barrel group, will be measured wrongly.
  • Barrel recoil is not included, so the white dot can sit slightly ahead of the barrel for a moment after a shot.
  • A passenger gun is assumed to turn around a single pivot. If its parts use different pivots, the white dot drifts off the barrel as the gun aims. The green GunOrigin dot turns round that same pivot, so once the two coincide at rest they stay together.
  • Aircraft measurements have not been checked as thoroughly as ground vehicles.

AA guns and sentries

Colour Dot Vector Meaning
Red ✓ ✓ (orange-red) The barrel that fires next, with the firing direction
Yellow ✓ ✓ The other barrels
Magenta ✓ ✓ Where each type-file Barrel line puts the round, elevated round the model's barrel pivot; drawn once the model's muzzles are what fires, and on the red or yellow marker at every elevation when the line is correct
Blue ✓ ✓ (up) Gunner seat, where a seated gunner's hips rest, 0.5 blocks above their feet as for driveable seats (not drawn for sentries)

Once a client has reported the loaded model, the gun fires from the model's muzzles, so the red and yellow markers sit on the barrels: each is the centre of its barrel's front face, measured on the model as drawn. The Barrel lines only fire before that, for example on a dedicated server before anyone has looked at the gun. /flandebug shootpoint list and apply compare and correct them.

Deployed guns

Colour Dot Meaning
White ✓ Muzzle measured from the loaded deployed-gun model

The white dot follows the gun's yaw and pitch. It marks the front face of the barrel geometry as drawn, with ModelScale applied, and is where projectiles start when the model can be measured. PivotHeight remains the fallback for a model that cannot be loaded or measured. A sight or other part protruding past the barrel may cause the measurement to land ahead of the actual muzzle.

Shots and impacts

Colour Marker Meaning
White Dot Eye position of a player firing a hand-held gun, left at every shot
White Vector A projectile's movement during one tick, drawn from its position
Blue Dot Projectile hit a driveable
Red Dot Projectile hit a player
Yellow Dot Projectile hit another entity
Green Dot Projectile hit a block

Instant-hit (hitscan) shots draw their whole path at once instead:

Colour Marker Meaning
Yellow to white Vectors Path segments between successive hits, yellow at the muzzle turning white towards the last hit
White Dot Entity hit along the path
Magenta Dot Block hit along the path

A sequence of projectile vectors gives the flight path; following it shows drop, drift and where penetration stopped.

Melee

Colour Marker Meaning
Red Vector Movement of each melee point during the swing
Red Dot Where the swing hit a player or entity

Hitboxes

Debug mode also outlines hitboxes:

  • Driveable parts: yellow while projectiles can hit the part, red once projectiles pass through it. When the crosshair points at a part face with configured armour, a gold readout beneath the crosshair shows its part, facing, and nominal thickness in millimetres. An explicitly configured 0 mm is shown; faces without an armour setting have no readout. The readout follows the nearest hitbox face along the camera view, including destroyed parts outlined in red. If the plate has a nonzero authored slope, a second line shows its angle and the head-on effective thickness calculated by the projectile armour resolver, including the configured impact-angle cap. A shot from another direction can have a different effective thickness.
  • NPC vehicles (Forge 1.20.1 and NeoForge 1.21.1): Custom NPCs drawn as a vehicle, plane or mecha with Part hitboxes on show their part boxes the same way: yellow while a part can be hit, red once it is broken. The gold armour readout works on them too, and shows nothing while the NPC's Model armour or Model damage profile is off, since its armour then stops no round. A single NPC can also outline its boxes outside debug mode with Outline hitboxes; see NPC Vehicles & Soldiers.
  • AA guns: a yellow wireframe outlines the single collision box. It follows gun yaw and shows the shape used for hits, walking into it, and standing on it.
  • Players: red head, orange body, yellow arms, green legs, blue held items. Riders in plane seats follow the plane's pitch and roll, matching their rendered pose and the hitboxes used for bullet hits. Your own hitboxes are hidden in first person.

Driveable HUD readout

While you ride a driveable in debug mode, the HUD adds its entity id and short name, world position, yaw/pitch/roll and turret yaw/pitch.

Live damageable driveable boxes can be moved, resized, added and removed with /flandebug htibox while debug rendering is on. Coordinates use SetupPart model pixels; edits are temporary and shared by all driveables of that type.

Clone this wiki locally