refactor(player): encapsulate game state behind PlayerSettings, clear VisibilityModifier and HiddenField
- 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.
This commit is contained in:
parent
c120309663
commit
02e2947f47
90 changed files with 1103 additions and 660 deletions
|
|
@ -7,6 +7,7 @@ import dev.loki.loparkour.menu.core.screen.ParkourOption;
|
|||
import dev.loki.loparkour.player.core.ParkourPlayer;
|
||||
import dev.loki.loparkour.player.core.ParkourUser;
|
||||
import dev.loki.loparkour.menu.gui.inventory.InventoryGui;
|
||||
import dev.loki.loparkour.player.service.UserRegistry;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
|
@ -24,11 +25,11 @@ public class SettingsMenu extends LPMenu {
|
|||
|
||||
InventoryGui gui = baseGui(title, ROWS);
|
||||
|
||||
if (ParkourOption.PARKOUR_SETTINGS.mayPerform(player) && ParkourPlayer.isPlayer(player)) {
|
||||
if (ParkourOption.PARKOUR_SETTINGS.mayPerform(player) && UserRegistry.isPlayer(player)) {
|
||||
gui = gui.setItem(SLOT_PARKOUR_SETTINGS, localeItem(player, "settings.parkour_settings.item"), e -> {
|
||||
final ParkourPlayer pp = ParkourPlayer.getPlayer(player);
|
||||
final ParkourPlayer pp = UserRegistry.getPlayer(player);
|
||||
if (pp != null) {
|
||||
pp.session.generator.menu(pp);
|
||||
pp.session.generator().menu(pp);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -36,7 +37,7 @@ public class SettingsMenu extends LPMenu {
|
|||
if (ParkourOption.LANG.mayPerform(player) && ParkourUser.isUser(player)) {
|
||||
final String langName = Locales.getString(locale, "name");
|
||||
gui = gui.setItem(SLOT_LANG, localeItem(locale, "settings.lang.item", langName), e -> {
|
||||
final ParkourPlayer pp = ParkourPlayer.getPlayer(player);
|
||||
final ParkourPlayer pp = UserRegistry.getPlayer(player);
|
||||
if (pp != null) {
|
||||
Menus.LANG.open(pp);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue