Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
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
- 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.
🎨 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
🚀 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 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
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.