The 3D block cursor is controlled through this read only
object and provides the Editor some control over the input
methods, display properties and positioning of the 3D block
cursor within the world.
The 3D block cursor is a native object which is constantly
calculating a screen/mouse -> world raycast, and recording
the resultant block collision position and facing direction.
Depending on the properties of the cursor state, this is not
always true – the cursor can also be manually manipulated by
keyboard input and moved around independently of mouse
movement; when the mouse is moved, the block cursor will
return to the mouse/world ray intersection point.
The cursor can also be set to either block or face mode;
block mode represents the block the mouse is pointing at,
and face mode represents the adjacent block that the mouse
is pointing at (i.e. the block attached to the face of the
intersection point).
In practical use, each tool when activated grabs the current
cursor state object and stores it. The active tool then
sets the current state to represent the functionality of the
tool (color, input mode, etc). When the tool loses focus,
it restores the cursor state using the stored state object
that was grabbed during activation.
The 3D block cursor can also be used to query the current
block at which the mouse is pointing (or the current block
to which the cursor has been manually moved by the user)
The 3D block cursor is controlled through this read only object and provides the Editor some control over the input methods, display properties and positioning of the 3D block cursor within the world. The 3D block cursor is a native object which is constantly calculating a screen/mouse -> world raycast, and recording the resultant block collision position and facing direction. Depending on the properties of the cursor state, this is not always true – the cursor can also be manually manipulated by keyboard input and moved around independently of mouse movement; when the mouse is moved, the block cursor will return to the mouse/world ray intersection point. The cursor can also be set to either block or face mode; block mode represents the block the mouse is pointing at, and face mode represents the adjacent block that the mouse is pointing at (i.e. the block attached to the face of the intersection point). In practical use, each tool when activated grabs the current cursor state object and stores it. The active tool then sets the current state to represent the functionality of the tool (color, input mode, etc). When the tool loses focus, it restores the cursor state using the stored state object that was grabbed during activation. The 3D block cursor can also be used to query the current block at which the mouse is pointing (or the current block to which the cursor has been manually moved by the user)