StackForge Plugin Changelog (v1.0.0) Core Features Implemented automatic item compression system with custom player-defined rules.
Added support for full NBT data preservation, toggleable per compression rule.
Configurable input and output quantities for each compression rule.
GUI Improvements Created an intuitive graphical interface for managing compression rules.
Main menu displays all compression rules with clear visual indicators.
Rule editor allows precise configuration, including item selection and quantity adjustment.
Added easy-to-use + and – buttons for adjusting input/output amounts.
Visual indicators and tooltips enhance usability.
NBT Handling Full preservation of item metadata, including:
Custom names
Lore
Enchantments
Custom model data
Item flags
Custom NBT tags
Option to strip NBT per rule if desired.
User Feedback Added action bar messages to notify players when compression occurs.
Implemented anti-spam system to prevent message flooding.
Clear visual feedback in the GUI during operations.
Commands /compress — Opens the main compression menu.
/compress create — Creates a new compression rule.
/compress edit <id> — Edits an existing rule.
/compress delete <id> — Deletes a compression rule.
Rule Management Rules can be created via command or GUI.
Left-click on a rule in the GUI to edit.
Right-click on a rule to delete.
Save rule functionality included.
Technical & Configuration Details Config files:
plugin.yml for metadata and commands.
config.yml for general settings (check interval, message cooldown, max rules per player).
rules.yml to store player compression rules.
Key classes:
AutoItemCompressor.java — Main plugin class.
CompressionRule.java — Rule representation.
CompressionRuleEditor.java — GUI editing helper.
ItemSerializer.java — Handles item serialization/deserialization.
Optimized for performance with periodic inventory checks rather than event-based.
Advanced Features Per-rule toggle for NBT preservation or stripping.
Efficient inventory operations to reduce server load.
Message cooldown to minimize chat spam.