Compatibility
Minecraft: Java Edition
Platforms
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Minecraft Cursor
A Fabric mod that replaces the boring old default system cursor with Minecraft-themed cursors.
📌 Requirements
- Fabric for Minecraft 1.20.1 or 1.21+
- (Optional) Mod Menu
🔄 Adaptive Cursor
- 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)
- 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.
🎨 Resource Pack Support
Create your own theme with customized and animated cursor designs, and configure cursor settings with resource packs.
Visit the Minecraft Cursor Wiki for more details: https://github.com/fishstiz/minecraft-cursor/wiki/Resource-Pack
🚀 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.
Visit the Minecraft Cursor Wiki for more details: https://github.com/fishstiz/minecraft-cursor/wiki/Java-API
JavaDocs: https://minecraft-cursor.bitbucket.io
🔗 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 theParentElement#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
tabsEnchantmentScreen
choicesStonecutterScreen
recipesBookEditScreen
bookLoomScreen
patternsAdvancementsScreen
tabsWorldListWidget
world icon play buttonMultiplayerServerListWidget
server icon play button