
BubbleReset v1.1.3 — 2026-01-20
release20 января 2026 г.This is a maintenance release focused on versioning and improving maintainability. No functional behavior has changed.
Changes
- Bump project version to 1.1.3.
- Refactor complex methods to reduce cyclomatic complexity.
Issues
-
Complex Method (cyclomatic complexity = 19)
- File: src/main/java/com/bubblecraft/bubblereset/BubbleReset.java:289-319
- Context: Scheduler tick
run()insidestartAutoResetScheduler()
-
Complex Method (cyclomatic complexity = 16)
- File: src/main/java/com/bubblecraft/bubblereset/ResourceWorldMenu.java:239-301
- Context:
onInventoryClick(InventoryClickEvent event)
-
Complex Method (cyclomatic complexity = 16)
- File: src/main/java/com/bubblecraft/bubblereset/ResourceWorldMenu.java:122-185
- Context:
createCustomSkull(String textureBase64)
Actions (Implemented)
-
BubbleReset.java (scheduler
run())- Extracted fixed-time vs interval scheduling into separate private methods.
- Reduced nesting with guard clauses.
- Extracted warning broadcast + reset scheduling helpers.
-
ResourceWorldMenu.java (
onInventoryClick)- Centralized action extraction (PDC first, lore fallback).
- Simplified click handler using helpers + early returns.
-
ResourceWorldMenu.java (
createCustomSkull)- Extracted texture normalization + profile application helpers.
- Isolated base64/url parsing + skin application.
Notes
- Unit tests passed after the refactor.
BubbleReset 1.1.3
beta20 января 2026 г.This is a maintenance release focused on versioning and tracking code quality hotspots. No functional behavior has changed.
Changes
- Bump project version to 1.1.3.
- Document complex methods and proposed refactors to improve maintainability.
Issues
-
Complex Method (cyclomatic complexity = 19)
- File: src/main/java/com/bubblecraft/bubblereset/BubbleReset.java:289-319
- Context: Scheduler tick
run()insidestartAutoResetScheduler()
-
Complex Method (cyclomatic complexity = 16)
- File: src/main/java/com/bubblecraft/bubblereset/ResourceWorldMenu.java:239-301
- Context:
onInventoryClick(InventoryClickEvent event)
-
Complex Method (cyclomatic complexity = 16)
- File: src/main/java/com/bubblecraft/bubblereset/ResourceWorldMenu.java:122-185
- Context:
createCustomSkull(String textureBase64)
Actions
-
BubbleReset.java (scheduler
run())- Extract fixed-time vs interval scheduling into separate private methods.
- Replace nested conditionals with guard clauses (early returns).
- Cache repeated configuration reads into local variables.
- Extract broadcast message and reset scheduling into helper methods to reduce branching.
-
ResourceWorldMenu.java (
onInventoryClick)- Use a switch on slot/button IDs and extract per-action handlers.
- Centralize permission checks and common messaging.
- Prefer early returns to minimize nesting.
-
ResourceWorldMenu.java (
createCustomSkull)- Extract profile/texture creation into a helper.
- Consolidate null/meta validation path.
- Isolate texture application and return immutable
ItemStackcopy if appropriate.
BubbleReset 1.1.2-1
release7 января 2026 г.[1.1.2-1] - 2026-01-07
Added
-
New
/rwadmin reloadcommand - Dedicated reload command with enhanced feedback- Displays reload time in milliseconds
- Reports number of reset timers cleared
- Shows cached worlds cleared count
- Confirms config cache rebuild status
-
New
/rwadmin test <feature>command - Comprehensive testing system for diagnosticscache- View world and config cache contents with entry countstimer- Display next reset times for all worlds (shows remaining hours/minutes)performance- Show operation performance metrics (teleport, reset timings)tps- Check current server TPS with color-coded health indicators (green/yellow/red)config- Verify configuration loading for all worlds (displays name, auto-reset status, interval/time_of_day mode)
-
Enhanced tab completion - Added full tab completion support for
/rwadminsubcommands and test features
Improved
- Reload command feedback - More detailed output showing exactly what was cleared and recalculated
- World cache management - Reload now properly clears world cache in addition to config cache and reset timers
- Admin panel access -
/rwadminwith no arguments opens admin panel, or use/rwadmin panelexplicitly - Console compatibility - Reload and test commands now work from console, not just in-game
Fixed
- Continued fix from v1.1.1: Reset timers properly clear on reload, ensuring
time_of_daychanges take effect immediately
Technical
- Refactored command handler to support subcommands (panel, reload, test)
- Added dedicated test methods for each diagnostic feature
- Updated ResourceTabCompleter to handle both
/resourceand/rwadmincommands - Improved error handling and permission checks for admin commands
BubbleReset 1.1.2
release7 января 2026 г.✨ New Features
Time-of-day automated resets
- Added
automated_resets.time_of_day(formatHH:mm) under each dimension. - When set, the auto-reset schedule runs at that local server time instead of using the interval timer.
- Existing interval-based scheduling still works as a fallback when
time_of_dayis blank.
🛠️ Fixes
Custom menu heads (Base64 textures)
- Fixed
/resourcemenu custom head textures showing as Steve. - Head textures are now applied using the Base64
texturesvalue reliably (preferred) with URL/JSON fallback. - Config now documents that
menu.items.<slot>.texturesupports Base64 (recommended) or a textures URL.
BubbleReset 1.1.1
release6 января 2026 г.✨ New Features
Datapacks support (custom structures / loot tables)
- New
datapacksconfig section to automatically copy datapacks into freshly created resource worlds. - Optional
/minecraft:reloadafter copying so datapacks apply without a full restart. - Configurable source (
world:<name>orfolder:<path>) and per-dimension apply toggles.
Per-world teleport toggle
- New
teleport_enabledoption per dimension:world.teleport_enablednether.teleport_enabledend.teleport_enabled
- Blocks teleports from both
/resource tp <world>and the/resourceGUI when disabled.
🛠️ Improvements
- Added clear notes in
config.ymlexplaining default/resourceGUI behavior and permissions. - Improved GUI click handling to identify the BubbleReset menu reliably (uses a dedicated inventory holder).
- Added a fallback to read the menu action from item lore when PDC is unavailable.
