diff --git a/src/main/java/one/oth3r/sit/file/Data.java b/src/main/java/one/oth3r/sit/file/Data.java index fb4569a..dc33112 100644 --- a/src/main/java/one/oth3r/sit/file/Data.java +++ b/src/main/java/one/oth3r/sit/file/Data.java @@ -20,28 +20,28 @@ public class Data { } /** - * The default hand config for all new players + * The default sitting config for all new players */ - private static HandConfig handConfig = new HandConfig(); + private static SittingConfig sittingConfig = new SittingConfig(); - public static HandConfig getHandConfig() { - return new HandConfig(handConfig); + public static SittingConfig getSittingConfig() { + return new SittingConfig(sittingConfig); } - public static void setHandConfig(HandConfig newHandConfig) { - handConfig = new HandConfig(newHandConfig); + public static void setSittingConfig(SittingConfig newSittingConfig) { + sittingConfig = new SittingConfig(newSittingConfig); } /** - * the hand config stored per player on the server + * the sitting config stored per player on the server */ - private static final HashMap playerSettings = new HashMap<>(); + private static final HashMap playerSettings = new HashMap<>(); public static void clearPlayerSettings() { playerSettings.clear(); } - public static void setPlayerSetting(ServerPlayerEntity player, HandConfig config) { + public static void setPlayerSetting(ServerPlayerEntity player, SittingConfig config) { playerSettings.put(player, config); } @@ -49,8 +49,8 @@ public class Data { playerSettings.remove(player); } - public static HandConfig getPlayerSetting(ServerPlayerEntity player) { - return playerSettings.getOrDefault(player,handConfig); + public static SittingConfig getPlayerSetting(ServerPlayerEntity player) { + return playerSettings.getOrDefault(player, sittingConfig); } /** @@ -97,6 +97,6 @@ public class Data { */ public static void loadFiles(boolean tryLegacy) { ServerConfig.load(tryLegacy); - HandConfig.load(); + SittingConfig.load(); } } diff --git a/src/main/java/one/oth3r/sit/file/HandConfig.java b/src/main/java/one/oth3r/sit/file/SittingConfig.java similarity index 75% rename from src/main/java/one/oth3r/sit/file/HandConfig.java rename to src/main/java/one/oth3r/sit/file/SittingConfig.java index cd3dd25..f6092de 100644 --- a/src/main/java/one/oth3r/sit/file/HandConfig.java +++ b/src/main/java/one/oth3r/sit/file/SittingConfig.java @@ -12,32 +12,36 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; -public class HandConfig { +public class SittingConfig { @SerializedName("version") private Double version = 1.0; + @SerializedName("enabled") + private Boolean enabled = true; @SerializedName("hand-sitting") - private boolean handSitting = true; + private Boolean handSitting = true; @SerializedName("main-hand") private HandSetting mainHand = new HandSetting(HandSetting.SittingRequirement.EMPTY, new HandSetting.Filter()); @SerializedName("off-hand") private HandSetting offHand = new HandSetting(HandSetting.SittingRequirement.FILTER, new HandSetting.Filter(false,true,false,new ArrayList<>(),new ArrayList<>())); // todo fill out some fox examples sake - public HandConfig() {} + public SittingConfig() {} - public HandConfig(double version, boolean handSitting, HandSetting mainHand, HandSetting offHand) { + public SittingConfig(double version, boolean enabled, boolean handSitting, HandSetting mainHand, HandSetting offHand) { this.version = version; + this.enabled = enabled; this.handSitting = handSitting; this.mainHand = mainHand; this.offHand = offHand; } - public HandConfig(HandConfig handConfig) { - this.version = handConfig.version; - this.handSitting = handConfig.handSitting; - this.mainHand = handConfig.mainHand; - this.offHand = handConfig.offHand; + public SittingConfig(SittingConfig sittingConfig) { + this.version = sittingConfig.version; + this.enabled = sittingConfig.enabled; + this.handSitting = sittingConfig.handSitting; + this.mainHand = sittingConfig.mainHand; + this.offHand = sittingConfig.offHand; } public Double getVersion() { @@ -61,7 +65,7 @@ public class HandConfig { } public static File getFile() { - return new File(Sit.CONFIG_DIR+"hand-config.json"); + return new File(Sit.CONFIG_DIR+"sitting-config.json"); } /** @@ -73,7 +77,7 @@ public class HandConfig { if (!file.exists()) save(); // try reading the file try (BufferedReader reader = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) { - Updater.HandConfigFile.run(reader); + Updater.SittingConfigFile.run(reader); } catch (Exception e) { Sit.LOGGER.error(String.format("ERROR LOADING '%s`: %s", file.getName(),e.getMessage())); } @@ -89,7 +93,7 @@ public class HandConfig { Sit.LOGGER.info(String.format("Creating new `%s`", getFile().getName())); } try (BufferedWriter writer = Files.newBufferedWriter(getFile().toPath(), StandardCharsets.UTF_8)) { - writer.write(Utl.getGson().toJson(Data.getHandConfig())); + writer.write(Utl.getGson().toJson(Data.getSittingConfig())); } catch (Exception e) { Sit.LOGGER.error(String.format("ERROR SAVING '%s`: %s", getFile().getName(), e.getMessage())); } diff --git a/src/main/java/one/oth3r/sit/file/Updater.java b/src/main/java/one/oth3r/sit/file/Updater.java index 41e9b9b..34ec099 100644 --- a/src/main/java/one/oth3r/sit/file/Updater.java +++ b/src/main/java/one/oth3r/sit/file/Updater.java @@ -17,7 +17,7 @@ import java.util.*; public class Updater { - public static class HandConfigFile { + public static class SittingConfigFile { /** * runs the updater from the file reader and sets the loaded settings when finished @@ -27,34 +27,34 @@ public class Updater { public static void run(BufferedReader reader) throws NullPointerException { // try to read the json - HandConfig handConfig; + SittingConfig sittingConfig; try { - handConfig = Utl.getGson().fromJson(reader, HandConfig.class); + sittingConfig = Utl.getGson().fromJson(reader, SittingConfig.class); } catch (Exception e) { throw new NullPointerException(); } // throw null if the fileData is null or version is null - if (handConfig == null) throw new NullPointerException(); + if (sittingConfig == null) throw new NullPointerException(); // get the file version - Double version = handConfig.getVersion(); + Double version = sittingConfig.getVersion(); // if there's no version, throw if (version == null) throw new NullPointerException(); // update the config (using the non-null version) - handConfig = update(handConfig); + sittingConfig = update(sittingConfig); // set the config in the mod data - Data.setHandConfig(handConfig); + Data.setSittingConfig(sittingConfig); } /** * updates the file */ - public static HandConfig update(HandConfig old) { - HandConfig serverConfig = new HandConfig(old); + public static SittingConfig update(SittingConfig old) { + SittingConfig serverConfig = new SittingConfig(old); return serverConfig; } } @@ -202,19 +202,19 @@ public class Updater { new ArrayList<>() ); - HandConfig defaultHandConfig = new HandConfig(); + SittingConfig defaultSittingConfig = new SittingConfig(); - HandConfig handConfig = null; + SittingConfig sittingConfig = null; // * filters are flipped because the way they work are flipped try { - handConfig = new HandConfig( - 1.0, Boolean.parseBoolean((String) properties.computeIfAbsent("hand.sitting", a -> String.valueOf(defaultHandConfig.canSitWithHand()))), + sittingConfig = new SittingConfig( + 1.0, true, Boolean.parseBoolean((String) properties.computeIfAbsent("hand.sitting", a -> String.valueOf(defaultSittingConfig.canSitWithHand()))), new HandSetting( - Utl.Enum.get(properties.computeIfAbsent("hand.main.requirement", a -> String.valueOf(defaultHandConfig.getHand(Hand.MAIN_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), + Utl.Enum.get(properties.computeIfAbsent("hand.main.requirement", a -> String.valueOf(defaultSittingConfig.getHand(Hand.MAIN_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), new HandSetting.Filter( - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.block", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isBlock()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.food", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isFood()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.usable", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isUsable()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.block", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isBlock()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.food", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isFood()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.main.usable", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isUsable()))), getFilterList( new Gson().fromJson((String) properties.computeIfAbsent("hand.main.whitelist", a -> "[]"), listType), new Gson().fromJson((String) properties.computeIfAbsent("hand.main.blacklist", a -> "[]"), listType) @@ -223,11 +223,11 @@ public class Updater { ) ), new HandSetting( - Utl.Enum.get(properties.computeIfAbsent("hand.off.requirement", a -> String.valueOf(defaultHandConfig.getHand(Hand.OFF_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), + Utl.Enum.get(properties.computeIfAbsent("hand.off.requirement", a -> String.valueOf(defaultSittingConfig.getHand(Hand.OFF_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), new HandSetting.Filter( - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.block", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isBlock()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.food", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isFood()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.usable", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isUsable()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.block", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isBlock()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.food", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isFood()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("hand.off.usable", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isUsable()))), getFilterList( new Gson().fromJson((String) properties.computeIfAbsent("hand.off.whitelist", a -> "[]"), listType), new Gson().fromJson((String) properties.computeIfAbsent("hand.off.blacklist", a -> "[]"), listType) @@ -241,14 +241,14 @@ public class Updater { // load an older version if (version == 1.0) { try { - handConfig = new HandConfig( - 1.0, defaultHandConfig.canSitWithHand(), + sittingConfig = new SittingConfig( + 1.0, true, defaultSittingConfig.canSitWithHand(), new HandSetting( - Utl.Enum.get(properties.computeIfAbsent("main-hand-requirement", a -> String.valueOf(defaultHandConfig.getHand(Hand.MAIN_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), + Utl.Enum.get(properties.computeIfAbsent("main-hand-requirement", a -> String.valueOf(defaultSittingConfig.getHand(Hand.MAIN_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), new HandSetting.Filter( - !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-block", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isBlock()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-food", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isFood()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-usable", a -> String.valueOf(!defaultHandConfig.getHand(Hand.MAIN_HAND).getFilter().isUsable()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-block", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isBlock()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-food", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isFood()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("main-hand-usable", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.MAIN_HAND).getFilter().isUsable()))), getFilterList( new Gson().fromJson((String) properties.computeIfAbsent("main-hand-whitelist", a -> "[]"), listType), new Gson().fromJson((String) properties.computeIfAbsent("main-hand-blacklist", a -> "[]"), listType) @@ -257,11 +257,11 @@ public class Updater { ) ), new HandSetting( - Utl.Enum.get(properties.computeIfAbsent("off-hand-requirement", a -> String.valueOf(defaultHandConfig.getHand(Hand.OFF_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), + Utl.Enum.get(properties.computeIfAbsent("off-hand-requirement", a -> String.valueOf(defaultSittingConfig.getHand(Hand.OFF_HAND).getSittingRequirement())),HandSetting.SittingRequirement.class,HandSetting.SittingRequirement.FILTER), new HandSetting.Filter( - !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-block", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isBlock()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-food", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isFood()))), - !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-usable", a -> String.valueOf(!defaultHandConfig.getHand(Hand.OFF_HAND).getFilter().isUsable()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-block", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isBlock()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-food", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isFood()))), + !Boolean.parseBoolean((String) properties.computeIfAbsent("off-hand-usable", a -> String.valueOf(!defaultSittingConfig.getHand(Hand.OFF_HAND).getFilter().isUsable()))), getFilterList( new Gson().fromJson((String) properties.computeIfAbsent("off-hand-whitelist", a -> "[]"), listType), new Gson().fromJson((String) properties.computeIfAbsent("off-hand-blacklist", a -> "[]"), listType) @@ -274,9 +274,9 @@ public class Updater { } Data.setServerConfig(serverConfig); - Data.setHandConfig(handConfig); + Data.setSittingConfig(sittingConfig); ServerConfig.save(); - HandConfig.save(); + SittingConfig.save(); } catch (Exception e) { Sit.LOGGER.error("Error loading legacy config: {}", e.getMessage()); } diff --git a/src/main/java/one/oth3r/sit/utl/Logic.java b/src/main/java/one/oth3r/sit/utl/Logic.java index 8afb29c..78ae1ff 100644 --- a/src/main/java/one/oth3r/sit/utl/Logic.java +++ b/src/main/java/one/oth3r/sit/utl/Logic.java @@ -8,7 +8,7 @@ import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; import one.oth3r.sit.file.Data; -import one.oth3r.sit.file.HandConfig; +import one.oth3r.sit.file.SittingConfig; import one.oth3r.sit.file.HandSetting; import org.jetbrains.annotations.Nullable; @@ -46,9 +46,9 @@ public class Logic { * checks the hands of the player and the items in each hand and sees if the player can sit down */ public static boolean checkHands(ServerPlayerEntity player) { - HandConfig handConfig = Data.getPlayerSetting(player); + SittingConfig sittingConfig = Data.getPlayerSetting(player); // if can't sit with hand, false - if (!handConfig.canSitWithHand()) return false; + if (!sittingConfig.canSitWithHand()) return false; boolean canSit = true; @@ -57,7 +57,7 @@ public class Logic { // if they can't sit, no need to run extra code if (!canSit) break; - HandSetting handSetting = handConfig.getHand(hand); + HandSetting handSetting = sittingConfig.getHand(hand); switch (handSetting.getSittingRequirement()) { case EMPTY -> canSit = player.getStackInHand(hand).isEmpty(); case FILTER -> canSit = Utl.checkItem(handSetting.getFilter(), player.getStackInHand(hand));