Описание
# Stacknator
Stacknator is a lightweight Minecraft mod for Fabric that lets you customize the maximum stack size of any vanilla or modded item via a simple configuration file. By modifying item data components during game initialization, Stacknator delivers a clean, efficient solution without performance overhead or hacky workarounds.
## Compatibility
- **Required:** [Fabric API](https://modrinth.com/mod/fabric-api)
- **Vanilla Items:** Fully compatible.
- **Modded Items:** Generally compatible with most mods.
> **Tags:** Supported through the Filler feature.
> **Tip:** To find an item's identifier, enable Advanced Tooltips in-game by pressing F3 + H, then hover over the item.
## Installation
1. Drop the Stacknator `.jar` into your `mods` folder.
2. Start the server or load into a world.
3. Edit the stacknator.json config file to set your desired stack sizes.
4. Enjoy!
> Required only on the server side for a `survival` gameplay, however it's recommended to have it on the client side as well to be fully compatible with some screens (e.g. creative screen).
## Documentation
- **enabled**:
Enables or disables the mod.
Type: `boolean` Default: `true`
- **log_modified_items**:
Toggles logging of successful stack size changes (other logs always show).
Type: `boolean` Default: `true`
- **checks**:
Defines the checks to be performed.
Type: `object` Default:
- **enable_checks**:
Enables or disables all checks.
Type: `boolean` Default: `true`
- **check_damageable**:
Enables or disables the damageable check.
Type: `boolean` Default: `true`
- **check_stackable**:
Enables or disables the stackable check.
Type: `boolean` Default: `false`
- **check_minimum_stack_size**:
Enables or disables the minimum stack size check.
Type: `boolean` Default: `true`
- **check_maximum_stack_size**:
Enables or disables the maximum stack size check.
Type: `boolean` Default: `true`
- **remove_defaults**:
Removes all item entries that match the default stack size.
Type: `boolean` Default: `false`
- **filler**:
Defines the filler settings.
Type: `object` Default: `{}`
- **enable_filler**:
Enables or disables the filler. When enabled, the mod will iterate all registered items and apply the filler rules to each item while enforcing the configured checks.
Type: `boolean` Default: `false`
- **reset_stacks**:
Enables or disables resetting of stack sizes to the default values, overriding any defined custom stack size.
Type: `boolean` Default: `false`
- **run_once**:
Disables the filler after one run.
Type: `boolean` Default: `true`
- **tag_priority**:
Enables or disables prioritizing tags over item entries when applying the filler.
Type: `boolean` Default: `true`
- **tags**:
Defines tag identifiers and their custom stack sizes.
Type: `object` Default: `{}`
- **sort_items**:
Enables or disabled sorting the item entries alphabetically by their keys.
Type: `boolean` Default: `true`
- **items**:
Defines item identifiers and their custom stack sizes.
Type: `object` Default: `{}`
## Checks
Stacknator performs the following checks for each item/tag entry in the config file:
- **Entry Key Format**:
Verifies if the entry key follows the `namespace:item` format.
**On Failure**: Skips the entry.
- **Item Damageable**:
Ensures the item is not damageable (e.g. tools, weapons and armor).
**On Failure**: Skips the entry.
- **Item Stackable**:
Confirms the item is stackable (default maximum stack above 1).
**On Failure**: Skips the entry.
- **Entry Value Below 1**:
Checks if the stack size is less than 1.
**On Failure**: Skips the entry.
- **Entry Value Above 99**:
Checks if the stack size exceeds 99.
**On Failure**: Adjusts to 99.
## Full Configuration Example
```json
{
"enabled": true,
"log_modified_items": true,
"checks": {
"enable_checks": true,
"check_damageable": true,
"check_stackable": false,
"check_minimum_stack_size": true,
"check_maximum_stack_size": true
},
"remove_defaults": false,
"filler": {
"enable_filler": false,
"reset_stacks": false,
"run_once": true,
"tag_priority": true,
"tags": {
"#minecraft:logs": 16,
"#minecraft:planks": 32
}
},
"sort_items": true,
"items": {
"minecraft:egg": 64,
"minecraft:red_bed": 16,
"minecraft:ender_pearl": 32,
"minecraft:tnt": 1
}
}