Compatibility
Minecraft: Java Edition
1.20.1
Platforms
Supported environments
Links
Creators
Details
Licensed LGPL-2.1-only
Published 2 months ago
Updated 2 months ago
AutoDropX
AutoDropX is a lightweight and intuitive Minecraft client-side mod that automatically discards excess items based on your rules when you pick them up, keeping your inventory tidy. It features three matching modes (Item ID / ID+NBT / Item Tag), rapid quantity adjustment with the mouse wheel, support for JEI ghost dragging, and quick switching between 9 configuration pages (with a JEI-style [<] 1/9 [>] navigator).
Primarily written in Kotlin.
Features at a Glance
- Auto-Discard Overflow: Adheres to a "Minimum Quantity to Keep" rule, only retaining the amount you need.
- Three Matching Modes:
- ID: Matches by item ID only.
- ID+NBT: Matches the item and its NBT data precisely.
- Item Tag: Matches the item's tags (supports cycling through multiple tags if available).
- User-Friendly Interface:
- Adjust the minimum quantity with the mouse wheel (Default step: 1; Shift: ×8; Ctrl: ×64).
- Right-click to switch matching modes (cycles through available tags in Tag mode).
- Middle-click to delete a rule.
- Hover over a config slot and press F to quickly enable/disable that rule.
- Use the top [<] 1/9 [>] navigator to switch between "Configuration Pages," each with its own independent set of rules.
- JEI Ghost Dragging: Drag items directly from the JEI panel into a configuration slot to create a rule (no actual item needed).
- Auto-Save: Changes are saved to disk immediately; settings are automatically restored after a game restart.
Default Key Binds
- Toggle Mod Globally:
B(configurable in Controls) - Open Config GUI:
N(configurable in Controls)
How to Use the Config Screen
- Left-click on a config slot:
- With an empty hand: "Picks up" the item from the slot (and deletes the rule).
- With an item in hand: "Places" the held item into the slot (the count will automatically display the minimum quantity to keep).
- Mouse Wheel: Adjusts the "Minimum Quantity to Keep" (Shift: ×8, Ctrl: ×64).
- Right-click: Switches between ID → ID+NBT → Item Tag modes. In Tag mode, it cycles through the item's available tags.
- Middle-click: Deletes the rule in that slot.
- F key: Toggles the rule for the slot under the cursor (enable/disable).
- Top Tabs: Use the [<] 1/9 [>] navigator for JEI-style page turning. The nine pages have independent rules, and the current page is saved automatically before switching.
- When holding an item on your cursor:
- Click a config slot to place it.
- Click an empty area of the GUI or your player inventory to clear the item from your cursor.
Configuration File Paths
- Current Page:
config/autodropx/active_profile.txt(contains a number from 1-9) - Page Rules:
config/autodropx/profiles/pageN.snbt(where N=1..9) - Legacy Migration: If
config/autodropx.snbtexists, it will be automatically migrated to Page 1 on the first launch.
JEI Ghost Dragging
- Open the JEI search panel and drag the desired item into a config slot to create a rule (no actual item is consumed).
Building and Running
- Dependencies: JDK 17+
- Build:
- Windows: Run
./gradlew.bat build - Linux/macOS: Run
./gradlew build
- Windows: Run
- Artifacts: The mod jars for each platform can be found in the corresponding subproject's
build/libs/directory. - Run for Development (Optional):
- Forge Client:
./gradlew :forge:runClient - Fabric Client:
./gradlew :fabric:runClient - Quilt Client:
./gradlew :quilt:runClient
- Forge Client:
The actual supported Minecraft/loader versions are defined in gradle.properties.
Frequently Asked Questions (FAQ)
- Why is the "Minimum Quantity to Keep" shown as the item's stack count?
- This is a visual aid to preview the rule's threshold more intuitively; your actual inventory is not modified.
- Can I save different sets of rules for different playstyles?
- Yes. Use the top [<] 1/9 [>] navigator to switch to a different "page." Each page's rules are independent of the others.
- Is there anything to note when using this with JEI?
- JEI ghost dragging is only for creating or replacing a rule. It does not consume any actual items.
Quickly Locating Source Code
- Forge Config Screen:
forge/src/main/kotlin/ench/autodropx/forge/feature/config/ConfigContainerScreen.kt:1 - Forge Config Manager:
forge/src/main/kotlin/ench/autodropx/forge/feature/config/ConfigManager.kt:1 - Forge Key Binding:
forge/src/main/kotlin/ench/autodropx/forge/KeyBinding.kt:1
Contributing
- Pull Requests (PRs) and Issues are welcome! Before submitting, please ensure the issue is consistently reproducible and aligns with the existing feature set.
- Please try to maintain a code style consistent with the existing Kotlin format. For functional changes, please include a brief description.
Acknowledgments
- Thanks to JEI for providing an excellent UI interaction paradigm.
- Thanks to the community for their feedback and suggestions.
License
- This project is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1).
- For details, see the
LICENSEfile in the repository's root directory. - By submitting a contribution, you agree to license your work under the same license.


