diff --git a/src/main/java/one/oth3r/sit/file/FileData.java b/src/main/java/one/oth3r/sit/file/FileData.java index 53b887d..1e7de3d 100644 --- a/src/main/java/one/oth3r/sit/file/FileData.java +++ b/src/main/java/one/oth3r/sit/file/FileData.java @@ -88,6 +88,12 @@ public class FileData { new CustomBlock(new ArrayList<>(),new ArrayList<>(Arrays.asList("#minecraft:shulker_boxes")),new ArrayList<>()) )); + public static final ArrayList INTERACTION_BLOCKS = new ArrayList<>(Arrays.asList( + new CustomBlock(new ArrayList<>(Arrays.asList("minecraft:crafter")),new ArrayList<>(Arrays.asList( + "#minecraft:shulker_boxes","#c:player_workstations/furnaces","#c:player_workstations/crafting_tables", + "#c:villager_job_sites","#minecraft:trapdoors","#c:chests")),new ArrayList<>()) + )); + public static final HandSetting MAIN_HAND = new HandSetting(HandSetting.SittingRequirement.EMPTY, new HandSetting.Filter( false,new HandSetting.Filter.Presets(), new CustomItem( diff --git a/src/main/java/one/oth3r/sit/file/ServerConfig.java b/src/main/java/one/oth3r/sit/file/ServerConfig.java index e61d0ee..05c604e 100644 --- a/src/main/java/one/oth3r/sit/file/ServerConfig.java +++ b/src/main/java/one/oth3r/sit/file/ServerConfig.java @@ -20,7 +20,7 @@ import java.util.Properties; public class ServerConfig implements CustomFile { @SerializedName("version") - private Double version = 2.0; + private Double version = 2.1; @SerializedName("lang") private String lang = "en_us"; @SerializedName("lang-options") @@ -37,6 +37,8 @@ public class ServerConfig implements CustomFile { private ArrayList sittingBlocks = FileData.Defaults.SITTING_BLOCKS; @SerializedName("blacklisted-blocks") private ArrayList blacklistedBlocks = FileData.Defaults.BLACKLISTED_BLOCKS; + @SerializedName("interaction-blocks") + private ArrayList interactionBlocks = FileData.Defaults.INTERACTION_BLOCKS; public ServerConfig() {} @@ -49,11 +51,13 @@ public class ServerConfig implements CustomFile { this.customEnabled = serverConfig.customEnabled; this.sittingBlocks = serverConfig.sittingBlocks; this.blacklistedBlocks = serverConfig.blacklistedBlocks; + this.interactionBlocks = serverConfig.interactionBlocks; } public ServerConfig(Double version, String lang, boolean keepActive, boolean sitWhileSeated, PresetBlocks presetBlocks, boolean customEnabled, - ArrayList sittingBlocks, ArrayList blacklistedBlocks) { + ArrayList sittingBlocks, ArrayList blacklistedBlocks, + ArrayList interactionBlocks) { this.version = version; this.lang = lang; this.keepActive = keepActive; @@ -62,6 +66,7 @@ public class ServerConfig implements CustomFile { this.customEnabled = customEnabled; this.sittingBlocks = sittingBlocks; this.blacklistedBlocks = blacklistedBlocks; + this.interactionBlocks = interactionBlocks; } public Double getVersion() { @@ -96,6 +101,10 @@ public class ServerConfig implements CustomFile { return blacklistedBlocks; } + public ArrayList getInteractionBlocks() { + return interactionBlocks; + } + public static class PresetBlocks { @SerializedName("stairs") @@ -135,7 +144,7 @@ public class ServerConfig implements CustomFile { @Override public void reset() { - updateToNewFile(new ServerConfig()); + loadFileData(new ServerConfig()); } @Override @@ -144,7 +153,7 @@ public class ServerConfig implements CustomFile { } @Override - public void updateToNewFile(ServerConfig newFile) { + public void loadFileData(ServerConfig newFile) { this.version = newFile.version; this.lang = newFile.lang; this.keepActive = newFile.keepActive; @@ -155,6 +164,14 @@ public class ServerConfig implements CustomFile { this.blacklistedBlocks = newFile.blacklistedBlocks; } + @Override + public void update() { + /// update to 2.1, just a new list, nothing to change + if (version == 2.0) { + version = 2.1; + } + } + @Override public String getFileName() { return "server-config.json"; @@ -283,7 +300,7 @@ public class ServerConfig implements CustomFile { Boolean.parseBoolean((String) properties.computeIfAbsent("custom", a -> String.valueOf(defaultConfig.isCustomEnabled()))), getCustomBlocks(new Gson().fromJson((String) properties.computeIfAbsent("custom-blocks", a -> "[]"), listType)), - new ArrayList<>() + new ArrayList<>(), FileData.Defaults.INTERACTION_BLOCKS ); SittingConfig defaultSittingConfig = new SittingConfig();