TrialChamberPro icon

TrialChamberPro -----

Trial Chamber Management Plugin



TrialChamberPro-1.1.9
1.1.9 - 2025-11-22
Added
  • Advanced Loot Features: Vanilla-style loot customization with full 1.21+ support
    • Tipped Arrows: Add any potion effect to arrows (POISON, SLOWNESS, etc.) with custom levels
      • Example: type: TIPPED_ARROW, potion-type: POISON, potion-level: 1 for Poison II arrows
    • Potions with Custom Levels: Create potions beyond vanilla limits
      • Works with POTION, SPLASH_POTION, and LINGERING_POTION types
      • Set potion-type and potion-level (0 = Level I, 1 = Level II, etc.)
      • Supports level IV+ for ominous potions (1.21+ exclusive feature)
    • Ominous Potions: Rare 1.21+ bottles with extreme effect levels
      • Set ominous-potion: true for special ominous bottle appearance
      • Perfect for rare ominous vault rewards
    • Enchantment Randomization: Dynamic enchantment levels like vanilla
      • enchantment-ranges: Apply enchantments with random levels (e.g., SHARPNESS:1:5 for I-V)
      • random-enchantment-pool: Pick ONE random enchantment from a list
      • Combine fixed enchantments, ranges, and random pools on the same item
    • Variable Durability: Drop pre-damaged items with random wear
      • Set durability-min and durability-max for random damage values
      • Great for "used" weapons and tools as loot
  • Debug Mode Startup Banner: Visual confirmation when debug mode is enabled
    • Displays prominent warning banner in console on server startup
    • Helps verify debug.verbose-logging: true is loaded correctly
    • Shows: "DEBUG MODE ENABLED - Verbose logging is active"
Fixed
  • CRITICAL: Fixed race condition causing duplicate vault entries
    • Multiple async saveVault() calls could insert duplicates for the same location
    • Changed to atomic UPSERT operation with INSERT ... ON CONFLICT DO UPDATE
    • Prevents duplicate vault entries during concurrent scanning operations
  • CRITICAL: Fixed separate cooldowns for normal vs ominous vaults
    • Changed UNIQUE constraint from (chamber_id, x, y, z) to (chamber_id, x, y, z, type)
    • Now stores BOTH normal and ominous vault entries at each location for independent cooldown tracking
    • Players can have separate 24h/48h cooldowns for normal and ominous modes at the same vault
    • VaultManager.getVault() now requires vault type parameter to fetch correct entry
    • When scanning, creates both NORMAL and OMINOUS entries regardless of current block state
  • CRITICAL: Enabled SQLite foreign key constraints
    • Added ?foreign_keys=on to SQLite JDBC URL
    • Fixes CASCADE deletion not working when chambers are deleted
    • Orphaned vault/spawner/player data is now automatically cleaned up
    • No more stale vault entries from deleted chambers
  • CRITICAL: Fixed ominous vaults giving normal loot after rescanning
    • Root cause: ChamberManager.saveVault() was skipping existing vaults instead of updating them
    • Changed logic to UPDATE existing vaults with correct type and loot_table when rescanning
    • Old vaults in database retained stale lootTable="default" even for ominous vaults
    • Now properly updates vault type and loot table on every scan
    • Action Required: Delete database and rescan all chambers with /tcp scan <name>
  • Fixed vault counts showing 0 in /tcp menu after reload
    • Root cause: VaultManager.countsCache was not being cleared on reload
    • Added VaultManager.clearCache() method to clear vault counts cache
    • /tcp reload now clears both chamber cache and vault counts cache
    • Vault counts are now correctly refreshed after reload
  • Added comprehensive debug logging for loot generation
    • Shows requested loot table name and available tables
    • Displays whether table lookup succeeded
    • Logs number of items generated per vault opening
    • Helps diagnose loot table configuration issues
Changed
  • Database Schema: Updated vaults table UNIQUE constraint to include vault type
    • Changed from UNIQUE (chamber_id, x, y, z) to UNIQUE (chamber_id, x, y, z, type)
    • Allows both NORMAL and OMINOUS vaults to coexist at same location
    • Breaking Change: Requires deleting existing database
  • Vault Scanning: Now creates two database entries per vault location
    • One entry for NORMAL type with default loot table
    • One entry for OMINOUS type with ominous-default loot table
    • Enables independent cooldown tracking for each vault type
  • Vault Lookup: VaultManager.getVault() signature changed
    • Added required type: VaultType parameter
    • Looks up vault by location AND type for accurate cooldown checking
  • Enhanced LootItem model with 7 new optional fields for advanced features
  • Enhanced LootManager.parseLootItem() to parse all new YAML fields
  • Enhanced LootManager.createItemStack() to apply potions, enchantments, and durability
  • Potion durations automatically adjusted based on type:
    • POTION: 3 minutes (3600 ticks)
    • SPLASH_POTION: 2:15 (2700 ticks)
    • LINGERING_POTION: 45 seconds (900 ticks)
    • TIPPED_ARROW: 20 seconds (400 ticks)
Migration Notes
IMPORTANT: This version requires deleting your existing database!

  1. Stop your server
  2. Delete plugins/TrialChamberPro/database.db
  3. Update to v1.1.9
  4. Start your server (new database with updated schema will be created)
  5. Re-register all chambers with /tcp register or /tcp generate
  6. Scan all chambers with /tcp scan <chamber-name>
  7. Create snapshots with /tcp snapshot create <chamber-name>
Why: Database schema changed to support separate NORMAL/OMINOUS vault tracking and enable foreign key constraints. Player cooldown data will be lost, but this ensures proper vault behavior going forward.

Documentation
  • Added 170+ lines of examples to loot.yml covering all new advanced features
  • Added comprehensive documentation for potion types, enchantment syntax, and combinations
  • Updated with vanilla-style loot table examples (tipped arrows, ominous potions, etc.)
----------, Nov 21, 2025
Resource Information
Author:
----------
Total Downloads: 334
First Release: Oct 24, 2025
Last Update: Today at 2:04 AM
Category: ---------------
All-Time Rating:
2 ratings
Find more info at darkstarworks.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings