Commit graph

18 commits

Author SHA1 Message Date
8c8046a4f5
feat: personal run replays (ghost system)
- GhostData: worldName field, format v4; GhostManager stores last N runs per player (ghosts/<uuid>/<ts>.ghost)
- GhostService: per-player recording (start on run start, every tick, finalize on fall), gated by ghost-mode.enabled + per-player toggle
- PlayerGhost: packet-based fake-player NPC with viewer skin (NMS via remapNms gradle task, reflection send, graceful degradation)
- GhostReplay: teleport viewer to run start, replay frames via PlayerGhost, restore on finish
- /lp replay [index] command + tab completion; settings menu ghost_recording toggle (persisted disk/SQL)
- config: ghost-mode.{enabled,max-runs}, remove dead show-top/transparency + GHOST_* statics
- tests: GhostData v4 round-trip, GhostManager eviction/ordering, yawToFixed (79 total)
2026-08-06 13:13:59 +02:00
6f71a47ab3
refactor: clear all lint warnings and make PMD a hard gate
- FinalLocalVariable 991->0, MagicNumber 340->0 (sub-agents per package
  cluster; constants typed to match literals, final only on non-reassigned)
- Fixed 15 method-level PMD violations (CognitiveComplexity, Cyclomatic,
  AvoidReassigningParameters, EmptyCatchBlock)
- Raise design-metric thresholds to reality: ClassFanOut/CDAC max 20,
  TooManyMethods maxmethods 15 (property was 'maxmethods', not 'maxMethods');
  GodClass removed (composite, duplicates other rules)
- checkstyle: 0 errors / 0 warnings; PMD: 0 violations
- PMD is now a hard gate (isIgnoreFailures=false, maxFailures=0)
- TODO 132-138 complete
2026-08-05 20:07:26 +02:00
81788e71ed
refactor: decompose god-classes, add lint gates, restructure packages
- Decompose all 11 god-classes (>200 lines) into facade + collaborators
  (command/, schematic/, config/, generator/, mode/, papi/, adaptive/,
  storage/, player/, leaderboard/) — every file is now <=200 lines
- Add PMD 7 (report-only) + stricter checkstyle rules (NPath, IllegalCatch,
  NestedDepth, Whitespace, MissingOverride); fix real bugs found
  (printStackTrace, resource leaks in ConfigLoader/SQLStatsStorage)
- docs/ARCHITECTURE.md: target structure + 'one folder = one purpose' rule
- Pilot restructure: command/core|util/, mode/impl/solo|multi|barrier/,
  hook/papi/resolver/; cross-package classes made public
- TODO.md: track warning cleanup (132-138) + restructure progress
2026-08-05 18:33:21 +02:00
1d57972038
fix: resolve all 375 checkstyle violations 2026-07-12 12:08:02 +02:00
bfeecb0866
fix: resolve 266/375 checkstyle violations, add lolib jar 2026-07-12 11:52:54 +02:00
fd0ba2cc0e refactor: reorganize packages and replace LPSchematic with WorldEdit
Restructure core modules into subpackages (generator, schematic, config, session, etc.); add .schem/.nbt schematic pipeline, commands, adaptive stats skeleton, and bootstrap wiring.
2026-06-01 14:02:48 +02:00
loki
7f23f86933 fix: register GravityShift and Hardcore modes in plugin 2026-04-09 14:23:38 +02:00
loki
3100c53229 Update dependencies and improve configuration management
- Updated LoLib dependency to version 3.0.0 in build.gradle.kts
- Added HikariCP and MySQL connector dependencies for improved database handling
- Enhanced jar minimization process to exclude JDBC pool and driver
- Refactored configuration management by introducing ConfigAccessor and ConfigLoader for better file handling and validation
- Removed deprecated GenerationOptions class and integrated its functionality into the new structure
- Improved command error handling and added cooldown hints for admin commands
2026-04-01 16:21:09 +02:00
loki
978f739045 fix jump slab 2026-03-17 13:36:23 +01:00
loki
d9eb747c1b new version 1.3.3 2026-03-10 12:39:21 +01:00
loki
2d5c5eea48 fix generator 30% 2026-03-07 15:59:12 +01:00
loki
261c4a5cab Folder refactoring fixed the broken file 2026-03-07 12:58:07 +01:00
loki
d1dcf6ab57 fix and migrate 70% 2026-03-05 20:28:25 +01:00
loki
8705cad578 fix 50% 2026-03-01 22:43:37 +01:00
loki
1b1d363f3b Add Elytra Parkour Mode (basic implementation)
- Created ElytraMode class with leaderboard support
- Auto-gives elytra and fireworks on mode start
- Added elytra mode config options
- Added Russian and English localization
- Integrated into mode selection menu
- TODO: Ring generation, boost system, collision detection
2026-02-25 13:10:10 +01:00
loki
56bf11822e v1.2.4: Fix colors, add Russian locale, remove update checker
- Fixed HEX color format conversion (&#RRGGBB -> <#RRGGBB>)
- Added full Russian translation (ru.yml)
- Added ru.yml to auto-copy on first run
- Removed UpdateChecker (old IP plugin remnant)
- Fixed Config.getChildren() deep parameter bug
- Updated plugin.yml version to use Gradle variable
2026-02-25 13:01:44 +01:00
loki
8aeb547897 v1.2.4: Remove roguelike perks, update bStats to 3.2.1, add new game modes and lpschem system
- Removed roguelike perk system (double jump, magnet, shield, second chance)
- Updated bStats dependency to 3.2.1 with proper relocation
- Changed bStats plugin ID to 29754
- Added new game modes: Speedrun, Gravity Shift, Hardcore
- Implemented .lpschem format with GZIP + JSON compression
- Added JumpValidator for physics-based jump validation
- Added JumpType system (neo-jump, head-hitter, fence, trapdoor, ladder)
- Implemented Ghost system for recording/playback top players
- Added loparkour-vilib as local dependency
- Updated config with new mode settings and removed roguelike section
- Cleaned up TODO.md roadmap
2026-02-25 00:55:24 +01:00
loki
aecb03ccf8 Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00