-
Notifications
You must be signed in to change notification settings - Fork 1
Contributing
YoannDev90 edited this page May 3, 2026
·
1 revision
Prerequisites:
- Java 17+
- Git
- Gradle 8.11+
Steps:
- Clone the repository:
git clone https://github.com/YoannDev90/StackableTools.git
cd StackableTools- Configure the build:
cp compile_config_sample.json compile_config.json
# Edit compile_config.json with your launcher paths- Build the mod:
./gradlew buildThe compiled JAR will be in build/libs/.
src/
├── main/
│ ├── kotlin/stackabletools/
│ │ ├── StackableTools.kt # Main entry point
│ │ ├── StackableToolsUtils.kt # Core utilities
│ │ ├── CustomLogger.kt # Logging
│ │ ├── config/
│ │ │ ├── ConfigManager.kt
│ │ │ ├── StackableToolsConfig.kt
│ │ │ └── StackingCategory.kt
│ │ └── mixin/
│ │ ├── ArmorItemMixin.kt
│ │ ├── ArmorSlotMixin.kt
│ │ ├── ElytraItemMixin.kt
│ │ ├── InventoryMixin.kt
│ │ ├── ItemStackMixin.kt
│ │ └── ScreenHandlerMixin.kt
│ └── resources/
│ ├── fabric.mod.json
│ ├── stackabletools.mixins.json
│ ├── stackabletools.default.toml
│ └── assets/
-
StackableToolsUtils.kt: Core stacking logic-
isStackableItem()- Determines if an item can stack -
canStackItems()- Checks if two items are compatible
-
-
InventoryMixin.kt: Handles insertion into player inventory -
ItemStackMixin.kt: Handles durability isolation when items are used -
ConfigManager.kt: TOML configuration loading and saving
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch:
git checkout -b feature/MyFeature - Commit your changes:
git commit -m 'Add MyFeature' - Push to your fork:
git push origin feature/MyFeature - Open a Pull Request