promotional bannermobile promotional banner

Simple AutoPickup

Instantly collect items from mined blocks directly into your inventory with the Auto Pickup mod. Mob loot & more configurable!
Back to Files

autopickup-forge-1.4.20+1.20.1.jar

File nameautopickup-forge-1.4.20+1.20.1.jar
Uploader
LukarboniteLukarbonite
Uploaded
Oct 20, 2026
Downloads
83
Size
815.1 KB
Mod Loaders
Forge
File ID
9263174
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:simple-autopickup-1309048:9263174")

Learn more about Curse Maven

What's new

1.4.20: Code-review overhaul; TreeHarvester 10.x support (#31); FTB Ultimine support; per-player preference files

Fixed

  • TreeHarvester 10.x crashed on block break (#31): logs and leaves are credited again and saplings are replanted per tree type. 9.x is still supported, and the drop hooks are optional so a future change cannot crash the game.
  • Drop contexts leaked when hooked methods returned early or threw: Level.destroyBlock and FallingTree's falling-block tick now close at RETURN, the shear hook closes what it opened, TreeHarvester hooks use try/finally, 1.21.1 brushing closes at RETURN, and a tick-end safety net clears anything left open.
  • Players without the mod got mob XP pickup by default; a player's own preference now only counts once it is set, else the server value.
  • Non-ops editing themselves wrote admin overrides that outlived the allow_* flags; they now set their own preference.
  • 1.21.0-1 was missing the on-stack drop fallback.
  • Nested compat scopes lost their player (blockBreaker is now a stack).
  • /autopickup global printed success for unknown or mis-cased keys and saved nothing; keys are now case-insensitive and unknown keys fail.
  • Malformed config JSON crashed startup; the bad file is now backed up and defaults are used.
  • Block XP was lost if a toggle flipped or the player left within the 2-tick Mending delay.
  • Split with zero participants threw ArithmeticException.
  • FallingTree leaf drops: hook the public forceBreakDecayLeaves instead of a synthetic lambda whose parameters did not match on 1.20.1.
  • 1.16.5 Forge dev client launched on Java 21 and crashed.

Added

  • FTB Ultimine support: it breaks blocks through the player's own break path, so ultimined blocks, merged drops and right-click crop harvests are collected with no dedicated code (1.20.1 to 26.1.2).
  • /autopickup shows each player the value that applies to them and its source (admin override, your setting, server default); the server column reads CLIENT DECIDE (default: ON/OFF). The console sees the server column only.
  • Players' own preferences are saved one file per player, preferences/<uuid>.json (worlds/<world>/preferences/ in singleplayer), whether set by command or synced by the client. Loaded on first use, written atomically only on change. A client sync that replaces a stored value tells the player.
  • Pickup handler registry in AutoPickupApi; Traveler's Backpack and TreeHarvester register at init instead of mixing into AutoPickupApi.
  • CI fetches the optional-mod jars from Modrinth and Maven by SHA-1 (gradle/compat-libs.json, ./gradlew fetchLibs) and builds every version with --continue.
  • JUnit tests for core/ (59), including tests that lock the config file and wire formats.
  • ./gradlew driftCheck lists files identical across version folders.

Changed

  • The seven settings are one Toggle enum; config files, the sync bitmask, command keys and the client file are unchanged.
  • One home for defaults; logic for directly spawned items moved into a shared ItemSpawnHook; shared ClientSession for loader clients, which only sync with servers that have the mod.
  • TreeHarvester natamus/serilum mixin pairs merged; leaf ownership kept in a tick-expired side map instead of a BlockPos subclass; the serilum modules compile against TreeHarvester 10.3.
  • Packages unified to com.lukarbonite.autopickup (1.16.5, 1.20.1, 1.21.0-1); files identical in 26.1 to 26.3 moved to shared/26+; per-version build boilerplate moved to a buildSrc convention plugin.
  • Java sources normalized to LF (.gitattributes).
  • README commands, defaults and compatibility list match the code; CI installs JDK 8, 17, 21 and 25 and uploads every loader jar.

Removed

  • Dead code: no-op AutoPickupMixinPlugin, FLAG_ALLOW_CLIENT, unused FLAG_* re-exports and tryPickupBlockExperience, unused locals.

Fixes #31

This mod has no additional files