### Statistics System
- **Added player statistics tracking** - Tracks blocks mined, quarries created/completed
- **Added `/quarry stats` command** - View personal mining statistics
- **Added `/quarry top` command** - Server-wide leaderboard for top miners
- **Block-specific tracking** - Tracks diamond, emerald, gold, iron, and all block types
- **Most mined block detection** - Shows your most frequently mined material
- **Valuable ore counter** - Highlights rare/valuable blocks found
- **Auto-saves stats** - Saves every 5 minutes and on shutdown
- **Stats persist** - Stored in `quarry-stats.yml`
### Visual Improvements
- **Multiple particle types** - Can now use multiple particles simultaneously (e.g., END_ROD + LAVA)
- **Block crack animations** - Shows realistic breaking animation on blocks being mined
- **Lava particles** - Drilling effect on active mining block
- **Smoke effects** - Adds industrial grinding/drilling atmosphere
- **Smooth drill movement** - Drill now updates every block instead of jumping
- **Fixed drill position** - Orange concrete now sits ON TOP of block being mined, not inside it
### Configuration
- **Removed `maxlook` config** - Consolidated into `max-quarry-size`
- **Added `particle-types` list** - Support for multiple particles in config
- **Removed `particle-update-interval`** - Drill now always moves smoothly
---
## BUG FIXES
### Critical Fixes
- **Fixed chunk force-loading** - Smart chunk loading now actually works, prevents force-loading distant chunks
- **Fixed orange concrete scaffolding** - Now places over ENTIRE quarry area, not just corners
- **Fixed drill visual position** - Orange concrete drill bit now appears above mining block, not inside it
- **Fixed subcommand parsing** - `/quarry stats` and `/quarry top` now work correctly
- **Fixed drill movement** - Removed interval-based updates, drill moves every block now
### Performance Fixes
- **Optimized chest scanning** - Only rescans when current chest is full, not on a timer
- **Added current chest tracking** - Remembers last used chest for faster item storage
- **3D chest search** - Now searches vertically (±2 blocks) and horizontally (5 blocks radius)
- **Smart chest caching** - Only searches when needed, dramatically reduces overhead
---
## ⚡ PERFORMANCE IMPROVEMENTS
### Chest System
- **Intelligent chest selection** - Sticks with one chest until full
- **Reduced scan frequency** - Only scans when current chest fills up
- **3D radius search** - Finds chests 2 blocks up/down, 5 blocks horizontal
- **Supports trapped chests** - Now recognizes both CHEST and TRAPPED_CHEST
### Chunk Loading
- **Double-check system** - Checks chunk loaded status right before `getBlockAt()` to prevent force-loading
- **Configurable via config** - `smart-chunk-loading` option actually works now
- **Better for large quarries** - Prevents unnecessary chunk loading for 64x64+ quarries
### Visual Updates
- **Removed update interval** - Visuals now update every block (smoother, no jumps)
- **Efficient fake blocks** - All drill visuals are client-side only
- **No server lag** - Zero block updates sent to server
---
## CHANGES & IMPROVEMENTS
### Config Changes
- **Consolidated torch detection** - `maxlook` replaced by `max-quarry-size` (serves dual purpose)
- **Cleaner config structure** - Removed unused/deprecated options
- **Better comments** - More descriptive explanations for each setting
- **Particle types as list** - Changed from single string to list for multiple particles
### Command Improvements
- **Better help message** - Shows new `/quarry stats` and `/quarry top` commands
- **Added debug mode** - Commented debug lines for troubleshooting command issues
- **Table format** - Commands now display in organized table format
### Code Quality
- **Removed unused variables** - Cleaned up `particleUpdateCounter`
- **Better method names** - More descriptive function naming
- **Consolidated logic** - Merged duplicate code paths
- **Added documentation** - Inline comments for complex sections
---
## DETAILED CHANGES BY FILE
### Modified Files
- Added stats tracking on block mining
- Fixed chunk loading logic (double-check before getBlockAt)
- Optimized chest scanning (only when needed)
- Added current chest tracking
- Fixed orange concrete placement (y+1 instead of y)
- Removed particle update interval
- Added 3D chest search
- Added multiple particle support
- Added block crack animations
- Added lava/smoke particles
- `QuarryCore.java`
- Initialize QuarryStats on startup
- Track quarry creation
- Track quarry completion
- Save stats on shutdown and auto-save
### Backwards Compatibility
- Old configs with `particle-type` automatically convert to `particle-types`
- Old quarry save data fully compatible
- No database migration needed
---
## INSTALLATION / UPDATE
### Fresh Install
1. Download QuarryPlugin-2.1.0.jar
2. Place in plugins folder
3. Restart server
4. Configure config.yml
### Updating from 2.0.1
1. Stop server
2. Replace QuarryPlugin.jar with 2.1.0 version
3. Delete/backup old config.yml (will regenerate with new format)
4. Start server
5. Reconfigure any custom settings
6. Existing quarries and data will work automatically
**Note:** Statistics will start tracking from this version onwards. Previous mining won't be counted.
---
## COMING SOON (Version 2.2.0)
- Fuel consumption system
- Quarry upgrades (speed, fortune, efficiency)
- Item filtering/voiding
- Redstone control
- Sound effects