Quarry icon

Quarry -----

Automate mining with smart, configurable, self-managing quarries.



LOTS OF CHANGES
# QuarryPlugin Changelog - Version 2.1.0

## Major Release: Version 2.1.0 (from 2.0.1)

---

## ✨ NEW FEATURES

### 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

- `QuarryCommand.java`
- Added `/quarry stats` subcommand
- Added `/quarry top` subcommand
- Added stats display methods
- Added leaderboard display
- Added ore breakdown display
- Added number formatting (1.2M, 847K)
- Added debug output (commented)

- `QuarryBlockListener.java`
- Use `max-quarry-size` for torch search distance
- Use `max-quarry-size` for size validation (removed hardcoded 100)

- `Config.java`
- Removed `maxlook` variable
- Changed `particleType` to `particleTypes` (list)
- Removed `particleUpdateInterval` variable
- Added backwards compatibility for old configs

- `config.yml`
- Removed `maxlook` setting
- Changed `particle-type` to `particle-types` (list format)
- Removed `particle-update-interval`
- Added example particle combinations
- Updated comments for clarity

---

## COMPATIBILITY

### Breaking Changes
- **Config format change** - `particle-type` → `particle-types` (auto-migrates)
- **Removed config option** - `maxlook` removed (use `max-quarry-size` instead)
- **Removed config option** - `particle-update-interval` removed (always updates now)

### 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

---

## STATISTICS

**Lines of code changed:** ~800
**New features:** 8 major
**Bug fixes:** 12
**Performance improvements:** 6
**Config options added:** 1
**Config options removed:** 3
**New commands:** 2
**Files added:** 4
**Files modified:** 7
----------, Nov 12, 2025
Resource Information
Author:
----------
Total Downloads: 39
First Release: Nov 6, 2025
Last Update: Nov 16, 2025
Category: ---------------
All-Time Rating:
2 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings