From b8aa61a48691ebcc13e3b2228eff06d80b41388d Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 11 Mar 2024 01:06:49 +0000 Subject: [PATCH] Fix crash with null stance in the config --- .../java/eu/ha3/presencefootsteps/PFConfig.java | 14 ++++++++------ .../sound/generator/Locomotion.java | 3 ++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/eu/ha3/presencefootsteps/PFConfig.java b/src/main/java/eu/ha3/presencefootsteps/PFConfig.java index 9c04754a..468582c1 100644 --- a/src/main/java/eu/ha3/presencefootsteps/PFConfig.java +++ b/src/main/java/eu/ha3/presencefootsteps/PFConfig.java @@ -23,7 +23,7 @@ public class PFConfig extends JsonFile { private int maxSteppingEntities = 50; - private boolean disabled; + private boolean disabled = false; private boolean firstRun = true; private boolean multiplayer = true; private boolean global = true; @@ -47,7 +47,7 @@ public boolean toggleMultiplayer() { } public EntitySelector cycleTargetSelector() { - targetEntities = EntitySelector.VALUES[(targetEntities.ordinal() + 1) % EntitySelector.VALUES.length]; + targetEntities = EntitySelector.VALUES[(getEntitySelector().ordinal() + 1) % EntitySelector.VALUES.length]; save(); @@ -75,11 +75,11 @@ public void setNotFirstRun() { } public Locomotion getLocomotion() { - return stance; + return stance == null ? Locomotion.NONE : stance; } public EntitySelector getEntitySelector() { - return targetEntities; + return targetEntities == null ? EntitySelector.ALL : targetEntities; } public boolean getEnabledFootwear() { @@ -154,8 +154,10 @@ public float setRunningVolumeIncrease(float volume) { } public void populateCrashReport(CrashReportSection section) { - section.add("PF Global Volume", volume); - section.add("PF User's Selected Stance", stance); + section.add("Disabled", getDisabled()); + section.add("Global Volume", volume); + section.add("User's Selected Stance", getLocomotion()); + section.add("Target Selector", getEntitySelector()); section.add("Enabled Global", global); section.add("Enabled Multiplayer", multiplayer); } diff --git a/src/main/java/eu/ha3/presencefootsteps/sound/generator/Locomotion.java b/src/main/java/eu/ha3/presencefootsteps/sound/generator/Locomotion.java index 5d6a3af3..4d408d83 100644 --- a/src/main/java/eu/ha3/presencefootsteps/sound/generator/Locomotion.java +++ b/src/main/java/eu/ha3/presencefootsteps/sound/generator/Locomotion.java @@ -1,5 +1,6 @@ package eu.ha3.presencefootsteps.sound.generator; +import java.util.Locale; import java.util.Map; import java.util.Optional; import java.util.function.BiFunction; @@ -30,7 +31,7 @@ public enum Locomotion { private final BiFunction> constructor; private static final String AUTO_TRANSLATION_KEY = "menu.pf.stance.auto"; - private final String translationKey = "menu.pf.stance." + name().toLowerCase(); + private final String translationKey = "menu.pf.stance." + name().toLowerCase(Locale.ROOT); Locomotion() { constructor = (entity, engine) -> Optional.empty();