Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[2.0.1] - 2026-05-06
Added
- Added shaded, relocated bStats Bukkit metrics support using SmartPack's registered bStats plugin ID.
- Added custom bStats charts for SmartPack activation mode, crafting-table requirements, auto-pack configuration, chest packing mode, recipe counts, and enabled auto-pack triggers.
Changed
- Updated Maven packaging so build output keeps only the final shaded plugin jar.
- Updated the Dev Release workflow to build every non-production branch push while ignoring
masterandmain, publishing timestamped prereleases as historical builds instead of replacing older dev releases. - Removed the explicit SQLite JDBC library declaration because Paper bundles the SQLite JDBC driver.
[2.0.0] - 2026-05-05
Added
- Added a Dev Release GitHub Actions workflow that publishes prerelease jars from development branches.
Changed
- Updated the build, plugin metadata, release workflow, and README requirements for Paper 26.1.2 and Java 25.
[1.5.1] - 2026-05-01
Changed
- Removed stale activation-mode restart guidance and the unused
message.summary.resumebundled config alias.
[1.5.0] - 2026-05-01
Added
- Added chest inventory packing through
/pack chestin command mode and Smart Packer right-clicks while a chest is open in item mode. - Added
smartpack.chestpermission andchest_pack.*config toggles for chest inventory packing. - Added optional Smart Packer cooldown mode with live per-second tooltip updates and the
smartpack.cooldown.bypasspermission. - Added an ActionBar notice when a Smart Packer cooldown finishes.
Changed
- Disabled auto-pack behavior and removed auto-mode Smart Packer tooltip text while cooldown mode is active.
- Updated the no-materials feedback for chest packing to call out when the target inventory is a chest.
- Reorganized the bundled config into setup-oriented sections while keeping the existing comment style.
- Removed the redundant
auto_pack.modes.*config layer soauto_pack.enabledcontrols auto-pack in the active activation mode.
[1.4.1] - 2026-04-30
Added
- Added a GitHub Actions workflow for building and publishing tagged releases.
Changed
- Updated the release workflow to publish automatically when
pom.xmlversion bumps land onmaster. - Rebranded the plugin to SmartPack.
- Renamed the main command from
/condenseto/pack. - Renamed permission nodes from
condense.*tosmartpack.*. - Renamed the crafted activation item to Smart Packer and updated the item-mode config paths.
- Renamed the Java package namespace to
crosis47.minecraft.smartpack. - Renamed remaining root image/icon assets from
condense*tosmartpack*. - Renamed active internal code identifiers from condense/auto-condense wording to pack/auto-pack wording without legacy migration shims.
- Hid
/pack autofrom tab completion while Smart Packer item mode is active.
Fixed
- Clarified
/pack autofeedback in Smart Packer item mode so players are told to enable auto mode through the item.
[1.4.0] - 2026-04-28
Added
- Added configurable pickup-triggered auto-condensing guarded by the new
condense.autopermission. - Added auto-condense triggers for placing crafting tables and entering nearby crafting-table range when command-mode requirements use nearby tables.
- Added actionbar feedback for automatic condense success and inventory-full failures.
- Added auto-condense mode controls for command mode and Condenser item mode.
- Added
/condense autoso players can toggle their persisted auto-condense preference. - Added Condenser item shift-right-click support for enabling auto-condense in item mode.
- Added Condenser item tooltip guidance for instant condense and auto-condense interactions.
Changed
- Avoided nearby crafting-table scans when
INVENTORY_OR_NEARBYis already satisfied by a crafting table in the player's inventory. - Reorganized the bundled
config.ymlinto clearer sections with more concise comments. - Moved activation and requirements to the top of the bundled config and changed the default per-player auto-condense preference to disabled.
[1.3.5] - 2026-04-26
Added
- Added missing vanilla reversible condensables for copper nuggets and resin clumps to the default config.
Changed
- Streamlined and reordered the default condense recipes by input material family while keeping tiered chains in pass-friendly order.
[1.3.4] - 2026-04-25
Added
- Added configurable nearby pickup scanning for inventory-full summaries so extra slot estimates can include item entities already within pickup range.
Changed
- Updated inventory-full summary estimation to simulate configured multi-tier condensation before counting the slots needed for nearby pickup items.
[1.3.3] - 2026-04-24
Fixed
- Fixed a
/condensecommand crash caused by a stale internal method call after the condense display refactor. - Corrected condense-cycle display aggregation so each original input material is reported once after the full settle window with its final condensed totals.
- Changed the final condense summary to report total original inputs condensed versus the final item count instead of listing intermediate-step totals.
[1.3.2] - 2026-04-24
Fixed
- Added a short multi-tick settle window to
/condenseso newly picked-up items can join the same condense run after inventory space opens. - Prevented stale condense snapshots from overwriting inventory changes that happen while a condense attempt is preparing its simulated result.
- Moved exclusion GUI persistence off the main thread and collapsed persistent exclusion saves to one async SQLite write per applied menu session.
- Stopped shading SQLite into the plugin jar so the plugin now relies on Paper's packaged SQLite driver.
[1.3.1] - 2026-04-24
Added
- Added a green apply button to the exclusion GUI so players can confirm current changes and close the menu without using the cancel control.
- Added a skipped-materials readout after each condense cycle when excluded configured inputs remain in the player's inventory.
- Added apply confirmation when the exclusion GUI is closed normally without using the cancel button.
Changed
- Renamed the exclusion menu info item to
Exclusion Helpso it reads as guidance instead of an action.
[1.3.0] - 2026-04-24
Added
- Added
/condense excludeto open a per-player exclusion GUI for configured input materials. - Added persistent per-player skipped-material storage in SQLite via
player-exclusions.db. - Added paged GUI toggles so excluded materials are marked with a red
Xand ignored by future condense runs. - Added one-time next-run skips from the GUI via left-click, while right-click manages persistent exclusions.
- Added glowing slot indicators for active exclusions and a bottom-right cancel button that reverts edits made in the open exclusion menu.
[1.2.1] - 2026-04-23
Added
- Added automatic Condenser cleanup while the plugin is running in
COMMANDmode. - Added cleanup coverage for:
- online players during plugin startup
- online players during
/condense reload - players joining the server with stale Condensers in saved inventory data
Fixed
- Removed leftover Condenser items from player inventories after switching away from
CONDENSER_ITEMmode. - Prevented stale Condenser items from persisting for players who were offline during a mode change until they rejoined.
Changed
- Updated documentation to clarify that
COMMANDmode automatically purges leftover Condenser items from player inventories.
[1.2.0] - 2026-04-23
Added
- Added a new activation system with two modes:
COMMANDCONDENSER_ITEM
- Added a custom Condenser item mode:
- The item is a named crafting table with an enchantment glint.
- Players can trigger condensing by right-clicking the Condenser in their inventory.
- Added configurable Condenser recipe support in
config.yml. - Added conditional recipe registration so the Condenser crafting recipe only exists on the server while
activation.modeisCONDENSER_ITEM. - Added
activation.condenser_item.allow_command_with_itemso server admins can choose between:- item-only activation
- both item activation and
/condensewhile carrying a Condenser
- Added validation and runtime handling for identifying Condenser items using persistent item data.
- Added a new player-facing message for item mode:
message.info.use_condenser_item
- Added a new player-facing error when
/condenseis allowed in item mode but the player is not carrying a Condenser:message.error.condenser_item_required
Changed
- Increased the bundled config format version from
1to3. - Updated the condense flow so command and item activation paths share the same core execution logic.
- Updated
/condensebehavior inCONDENSER_ITEMmode:- When
allow_command_with_itemisfalse, the command redirects players to use the Condenser item. - When
allow_command_with_itemistrue, the command only works if the player is carrying a Condenser.
- When
- Updated activation-mode behavior so crafting table requirement settings under
requirements.*only apply inCOMMANDmode. - Updated documentation to describe activation modes, Condenser item behavior, and the new configuration options.
Fixed
- Fixed item mode incorrectly still enforcing crafting table requirements when
allow_command_with_itemwas enabled. - Prevented the Condenser item from being placed as a block.
[1.1.1] - 2026-04-23
Fixed
- Removed unused
RequirementCheckResultrecord and associated methods. - Eliminated IDE warnings related to dead code.
Changed
- Minor internal code cleanup following previous refactors.
- No functional or behavioral changes.
[1.1.0] - 2026-04-23
Added
- Added support for condensing recipes that use 4 or fewer inputs without requiring a crafting table.
- Based on the standard 2x2 player crafting grid.
- Added new config options to control small-recipe crafting table bypass:
requirements.bypass_crafting_table_for_small_recipesrequirements.small_recipe_bypass_max_ratio_in
- Added contextual player hint:
- Displays a message when additional materials could be condensed at a crafting table after small recipes are processed.
- Added new configurable message:
message.info.more_available_at_crafting_table
- Added total input tracking to condense operations.
- Final summary message now displays both total input items consumed and total output items produced.
- Example:
Converted 117 items into 13 output items.
Changed
- Refactored crafting table requirement logic from a global command check to a per-recipe evaluation system.
- Mixed inventory behavior improved:
- Small recipes (≤ threshold) can now condense even if larger recipes are blocked by crafting requirements.
- Improved overall command flow so that valid partial condenses are not blocked by unrelated requirements.
- Updated final summary message format to include both input and output totals.
- Updated config documentation to clarify that the default bypass value of
4is based on the player crafting grid size.
Fixed
- Fixed validator rejecting datapack-based recipes that use tag-based inputs/outputs (e.g., wool color variants).
- Added validator exception for variant-based materials (e.g., colored wool, concrete, glass, etc.) so reversible recipes using tags are no longer incorrectly flagged.
- Prevented valid datapack recipes from being disabled when
disable_non_reversible_recipesis enabled due to overly strict validation.
[1.0.1] - 2026-04-23
Added
- Added iterative condensing logic so
/condensecontinues processing until no further conversions are possible in the current inventory state. - Added final inventory-full summary message showing total additional slots required.
- Added clearer inventory-full output showing full input amounts, outputs, and leftover materials.
Changed
- Inventory-full messages are now delayed until the end of the condense process and only shown if the issue persists.
- Success messages are now displayed correctly during iterative passes.
- Updated item name handling to use modern Paper Adventure translation APIs instead of deprecated methods.
- Updated recipe validation to use modern
RecipeChoiceAPIs:- Replaced
getIngredientMap()withgetChoiceMap() - Replaced
getIngredientList()withgetChoiceList()
- Replaced
/condensenow retries previously failed recipes within the same execution if inventory conditions improve.
Fixed
- Fixed
nothing_to_condenseappearing after an inventory-full failure during the same command. - Fixed false-positive inventory-full messages that were later resolved in the same
/condenseexecution. - Fixed condensing requiring multiple command executions due to lack of retry logic.
- Fixed success messages being suppressed after the initial iterative condense refactor.
- Fixed deprecated Paper API usage for shaped and shapeless recipe validation.
[1.0.0] - 2026-04-22
This release is a substantial hard fork of the original MinecraftCondensePlugin by rd156.
Added
Command improvements
- Added
/condense reloadto reloadconfig.ymlin-game. - Added tab completion for the
reloadsubcommand. - Added a dedicated
condense.reloadpermission node.
Config improvements
- Added a versioned config format with
config-version. - Added upgrade-safe config default merging so new keys can be added without overwriting customized settings.
- Expanded the config with documentation and cleaner message handling.
Condensing behavior improvements
- Added leftover-aware result formatting.
- Example:
11 Iron Ingot → 1 Block of Iron + 2 Iron Ingot
- Example:
- Added an inventory-full summary showing total additional slots needed after a single
/condenseattempt.
Crafting table requirement system
- Added configurable crafting table requirement modes:
DISABLEDINVENTORY_ONLYNEARBY_ONLYINVENTORY_OR_NEARBY
- Added specific failure messages for each requirement mode.
Validation and safety improvements
- Added startup validation for:
- invalid input materials
- invalid output materials
- invalid ratios
- invalid crafting table mode values
- malformed condense entries
- Added optional validation for recipe reversibility using currently loaded server recipes.
- Added optional strict mode to disable non-reversible configured recipes at runtime.
- Continued using safe inventory simulation before applying any item mutations.
Default content changes
- Reworked the default configuration to focus on reversible vanilla condense recipes.
- Expanded the default documentation and plugin messages.
Documentation improvements
- Rewrote the project README to reflect current fork behavior instead of the minimal original README.
Changed
Fork / identity changes
- Renamed the plugin branding to Condense Reforged.
- Renamed the Java package namespace from
rd156.minecraft.condensetocrosis47.minecraft.condense. - Updated the plugin entry point and current code structure to match the new namespace.
Platform and build modernization
- Updated the project to build against Paper API 1.21.11-R0.1-SNAPSHOT.
- Kept compiled target compatibility at Java 21 for Paper 1.21.x servers.
- Modernized project structure while preserving the original
/condenseconcept.
Behavior improvements
- Fixed output handling so configured
ratio_outvalues are respected correctly. - Improved player-facing output to use in-game material display names instead of raw enum names.
- Improved inventory-full behavior to better explain failed conversions.
Fixed
- Prevented
nothing_to_condensefrom incorrectly appearing after an inventory-full failure. - Fixed multiple edge cases around invalid materials and malformed config entries.
- Fixed potential issues where invalid recipes could cause silent failures.
Upstream baseline
The original upstream project was a small Bukkit-style plugin with:
- A minimal README
- A simple
/condensecommand - A small Maven project
- A package rooted under
rd156.minecraft.condense
Information
| Published on | May 11, 2026 |
|---|---|
| Downloads | 3 |
Platforms
Paper (1.21.11, 26.1.2)