- ParkourUser/ParkourPlayer/GeneratorState public mutable fields -> private + short accessors - per-player settings extracted to player/data/PlayerSettings (ParkourPlayer 188 -> 96 lines, PMD-counted methods 20 -> 9); this is what fixed the TooManyMethods violation that the encapsulation itself introduced — by decomposition, not by lowering the threshold - disk storage reads and writes the same canonical 12-key map as the SQL JSON column; legacy key names normalized on read, @Expose dropped from domain classes - 39 settings call sites rewritten across 7 files - HiddenField backlog cleared (Config, ObstacleGenerator, GhostService, Leaderboard, PagedMenu, Reward, ParticleData, World) - checkstyle ratchet: VisibilityModifier, HiddenField, EmptyLineSeparator and MissingDeprecated flipped to error once their counters hit zero; suppressions.xml empty - javac -Xmaxwarns raised so NullAway/Error Prone counts are honest (baseline 165/289, now 164/265) checkstyle 0 errors / 135 warnings, PMD 0 violations, tests 94/0 fail, ./gradlew check green. TODO.md: items 30 and 107 updated, new items 167-170, ПРОГРЕСС-6/7 recorded.
111 lines
3.4 KiB
Java
111 lines
3.4 KiB
Java
package dev.loki.loparkour.mode.base;
|
|
|
|
import dev.loki.loparkour.api.core.Registry;
|
|
import dev.loki.loparkour.duels.DuelsMode;
|
|
import dev.loki.loparkour.elytra.close.CloseMode;
|
|
import dev.loki.loparkour.elytra.core.ElytraMode;
|
|
import dev.loki.loparkour.elytra.minspeed.MinSpeedMode;
|
|
import dev.loki.loparkour.elytra.obstacle.ObstacleMode;
|
|
import dev.loki.loparkour.elytra.speeddemon.SpeedDemonMode;
|
|
import dev.loki.loparkour.elytra.timetrial.TimeTrialMode;
|
|
import dev.loki.loparkour.mode.impl.barrier.InvisibleBarrierMode;
|
|
import dev.loki.loparkour.mode.impl.multi.CoopMode;
|
|
import dev.loki.loparkour.mode.impl.multi.RaceMode;
|
|
import dev.loki.loparkour.mode.impl.multi.SpectatorMode;
|
|
import dev.loki.loparkour.mode.impl.solo.DefaultMode;
|
|
import dev.loki.loparkour.mode.impl.solo.GravityShiftMode;
|
|
import dev.loki.loparkour.mode.impl.solo.SpeedrunMode;
|
|
|
|
public final class Modes {
|
|
|
|
private Modes() {
|
|
}
|
|
|
|
private static DefaultMode defaultMode;
|
|
private static SpectatorMode spectator;
|
|
private static SpeedrunMode speedrun;
|
|
private static InvisibleBarrierMode invisibleBarrier;
|
|
private static RaceMode race;
|
|
private static CoopMode coop;
|
|
private static GravityShiftMode gravityShift;
|
|
private static ElytraMode elytra;
|
|
private static SpeedDemonMode speedDemon;
|
|
private static MinSpeedMode minSpeed;
|
|
private static TimeTrialMode timeTrial;
|
|
private static CloseMode close;
|
|
private static ObstacleMode obstacle;
|
|
private static DuelsMode duels;
|
|
|
|
public static void init() {
|
|
defaultMode = (DefaultMode) Registry.getMode("default");
|
|
spectator = (SpectatorMode) Registry.getMode("spectator");
|
|
speedrun = (SpeedrunMode) Registry.getMode("speedrun");
|
|
invisibleBarrier = (InvisibleBarrierMode) Registry.getMode("invisible-barrier");
|
|
race = (RaceMode) Registry.getMode("race");
|
|
coop = (CoopMode) Registry.getMode("coop");
|
|
gravityShift = (GravityShiftMode) Registry.getMode("gravity-shift");
|
|
elytra = (ElytraMode) Registry.getMode("elytra");
|
|
speedDemon = (SpeedDemonMode) Registry.getMode("speeddemon");
|
|
minSpeed = (MinSpeedMode) Registry.getMode("minspeed");
|
|
timeTrial = (TimeTrialMode) Registry.getMode("timetrial");
|
|
close = (CloseMode) Registry.getMode("close");
|
|
obstacle = (ObstacleMode) Registry.getMode("obstacle");
|
|
duels = (DuelsMode) Registry.getMode("duels");
|
|
}
|
|
|
|
public static DefaultMode defaultMode() {
|
|
return defaultMode;
|
|
}
|
|
|
|
public static SpectatorMode spectator() {
|
|
return spectator;
|
|
}
|
|
|
|
public static SpeedrunMode speedrun() {
|
|
return speedrun;
|
|
}
|
|
|
|
public static InvisibleBarrierMode invisibleBarrier() {
|
|
return invisibleBarrier;
|
|
}
|
|
|
|
public static RaceMode race() {
|
|
return race;
|
|
}
|
|
|
|
public static CoopMode coop() {
|
|
return coop;
|
|
}
|
|
|
|
public static GravityShiftMode gravityShift() {
|
|
return gravityShift;
|
|
}
|
|
|
|
public static ElytraMode elytra() {
|
|
return elytra;
|
|
}
|
|
|
|
public static SpeedDemonMode speedDemon() {
|
|
return speedDemon;
|
|
}
|
|
|
|
public static MinSpeedMode minSpeed() {
|
|
return minSpeed;
|
|
}
|
|
|
|
public static TimeTrialMode timeTrial() {
|
|
return timeTrial;
|
|
}
|
|
|
|
public static CloseMode close() {
|
|
return close;
|
|
}
|
|
|
|
public static ObstacleMode obstacle() {
|
|
return obstacle;
|
|
}
|
|
|
|
public static DuelsMode duels() {
|
|
return duels;
|
|
}
|
|
}
|