Compatibility
Minecraft: Java Edition
1.21.x
1.20.1
Platforms
Fabric
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
Minecraft Cursor
A Fabric mod that replaces the boring old default system cursor with a Minecraft-themed cursor.
Requirements
- Fabric for Minecraft 1.20.1 or 1.21+
- (Optional) Mod Menu
Adaptive Cursor
- The cursor changes on certain actions and when hovering over buttons, text fields, and grabbing sliders (limited to Minecraft's out of the box GUI elements).
- Disable all cursors except 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 in-game GUIs may lead to unexpected cursor switching.
- Check the Mod Compatibility section to see affected GUIs.
- 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...
- Disabled cursors will fallback to the default cursor unless it is also disabled.
All Cursors
Cursor Name | Key | Image | When it is used |
---|---|---|---|
Default | default |
|
|
Pointer | pointer |
Hovered over:
|
|
Text | text |
|
|
Grabbing | grabbing |
|
|
Shift | shift |
Shift is pressed and mouse is hovered over:
|
Resource Pack Support
Image Format
- 32x32 pixels
- png format
File Structure
└── minecraft-cursor/
├── atlases/
│ └── cursors.json
└── textures/
└── cursors/
├── default.png
├── grabbing.png
├── pointer.png
├── shift.png
└── text.png
Custom Configuration
- Define a custom configuration for your resource pack in
atlases/cursors.json
. - Can be overridden by users through the Cursor Settings menu.
- The user's config will reset to the provided config when changing resource packs.
Example cursors.json
:
{
"settings": {
"default": {
"xhot": 7,
"yhot": 3,
"scale": 0.8
},
"pointer": {
"xhot": 7,
"yhot": 3,
"scale": 0.8
},
"text": {
"xhot": 12,
"yhot": 15,
"scale": 0.8
},
"grabbing": {
"enabled": false
},
"shift": {
"xhot": 11,
"yhot": 3
}
}
}
All Settings:
enabled
:true
/false
scale
:0.50
-3.00
(incrementing in 0.05)xhot
:0
-31
yhot
:0
-31
Mod Compatibility
Widgets are automatically registered by this mod with the following conditions:
- Pointer elements must be an instance of
PressableWidget
orSliderWidget
-
ClickableWidget
is not registered as they are not always a button. For example:ScrollableWidget
is a subclass ofClickableWidget
- Text elements must be an instance of
TextFieldWidget
- They must be a child of
ParentElement
(e.g.Screen
), accessible throughchildren()
method - Container elements must be an instance of
ParentElement
and nested containers must be an instance and child ofParentElement
GUI "elements" that may be affected from shifting their positions and sizes:
CreativeInventoryScreen
tabsEnchantmentScreen
choicesStonecutterScreen
recipesBookEditScreen
bookLoomScreen
patternsAdvancementsScreen
tabsWorldListWidget
world icon play buttonMultiplayerServerListWidget
server icon play button