nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft.

Minecraft Cursor

Replaces the boring old default system cursor with Minecraft-themed cursors.

📌 Requirements

  • Minecraft 1.20.1 or 1.21.1+
  • When on Fabric: Fabric API

🔄 Adaptive Cursor

default pointer grabbing text shift busy

  • The cursor adapts to certain actions and elements (limited to Minecraft's native elements).
  • Disable all cursors except for Default in the cursor settings to disable this feature,
    • You can also toggle all non-default cursors in one click from More Cursor Options
    • You can disable adaptive cursors for certain actions in More Cursor Options
  • Mods that shift the sizes and positions of certain GUIs may lead to unexpected cursor switching.
    • You can disable adaptive cursors for affected GUIs in More Cursor Options.

🔧 Configure Cursors

  • Configure from Mod Menu (if installed on Fabric)
  • Configure from Options > Controls > Mouse Settings... > Cursor Settings...
  • Configure More Cursor Options from Cursor Settings > More Cursor Options...
    • Override the Scale, Offset X, and Offset Y of all cursors.
    • Disable Adaptive Cursor for certain actions and elements.
  • Disabled cursors will fallback to the Default cursor unless it is also disabled.

options options more-options more-options

🎨 Resource Pack Support

With the use of resource packs, you can create custom cursors, even animate them, and define the settings of each one.

Visit the Minecraft Cursor Wiki for more details: https://fishstiz.github.io/minecraft-cursor-wiki/resource-pack/getting-started

Here's just one example:

🚀 Java API

The Minecraft Cursor mod provides an API for mod developers to:

  • Create new cursors.
  • Map elements with cursor type functions.
    • or declare the cursor type within the element itself.
  • Directly change the cursor, bypassing the element-based system.

Can be an optional dependency if you only wish to map elements to a cursor if Minecraft Cursor is installed.

Visit the Minecraft Cursor Wiki for more details: https://fishstiz.github.io/minecraft-cursor-wiki/java-api/introduction

🔗 Mod Compatibility

Minecraft Cursor does not use any custom rendering. It simply changes the look of the native cursor. Actual mouse behavior is untouched.

Widgets are automatically detected (and registered) with the following conditions:

Note: These are in yarn mappings.

  • Pointer elements must be an instance of PressableWidget.
  • Slider elements must be an instance of SliderWidget.
  • Text elements must be an instance of TextFieldWidget.
  • They must be a child of ParentElement (e.g., Screen), accessible through the ParentElement#children() method.
  • Nested elements must be recursively accessible from the screen using the ParentElement#children() method.
  • More on the source code here.

The adaptive cursor can be disabled on these non-element "elements" in case of unexpected cursor switching:

  • CreativeInventoryScreen tabs
  • EnchantmentScreen choices
  • StonecutterScreen recipes
  • BookEditScreen book
  • LoomScreen patterns
  • AdvancementsScreen tabs
  • WorldListWidget world icon play button
  • MultiplayerServerListWidget server icon play button

Fabric Only Features

Minecraft Cursor for Fabric is semi-compatible with mods that use custom cursors, this however disables adaptive cursor if an external custom cursor is in use.

Standard system cursors used by other mods will also be remapped to their Minecraft Cursor equivalents.

Note that some mods are unknowingly changing the cursor due to the libraries they are embedding/depending on, causing conflicts with Minecraft Cursor. These features work around that.

Unfortunately, this does not work on Forge & NeoForge due to their loading sequence.


NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.

External resources



Project members

fishstiz

Owner


Technical information

License
Client side
required
Server side
unsupported
Project ID
Expand Down