From 71127c31520ea72705955aa16c91de176c7e8359 Mon Sep 17 00:00:00 2001 From: Allink <44676012+allinkdev@users.noreply.github.com> Date: Mon, 20 Feb 2023 23:39:40 +0000 Subject: [PATCH] Add configuration option for disabling books (#275) FS-458 Co-authored-by: Video Co-authored-by: Paldiu --- .../totalfreedommod/blocking/InteractBlocker.java | 5 +++++ .../totalfreedommod/command/Command_toggle.java | 8 +++++++- .../totalfreedom/totalfreedommod/config/ConfigEntry.java | 1 + src/main/resources/config.yml | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/blocking/InteractBlocker.java b/src/main/java/me/totalfreedom/totalfreedommod/blocking/InteractBlocker.java index 6a70f7d4..08437c25 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/blocking/InteractBlocker.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/blocking/InteractBlocker.java @@ -171,6 +171,11 @@ public class InteractBlocker extends FreedomService } case WRITTEN_BOOK: { + if (ConfigEntry.ALLOW_BOOKS.getBoolean()) + { + break; + } + player.getInventory().clear(player.getInventory().getHeldItemSlot()); player.sendMessage(ChatColor.GRAY + "Books are currently disabled."); event.setCancelled(true); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_toggle.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_toggle.java index 2639b9d5..43a37446 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_toggle.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_toggle.java @@ -19,7 +19,7 @@ public class Command_toggle extends FreedomCommand private final List toggles = Arrays.asList( "waterplace", "fireplace", "lavaplace", "fluidspread", "lavadmg", "firespread", "frostwalk", "firework", "prelog", "lockdown", "petprotect", "entitywipe", "nonuke [range] [count]", - "explosives [radius]", "unsafeenchs", "bells", "armorstands", "masterblocks", "grindstones", + "explosives [radius]", "unsafeenchs", "bells", "armorstands", "masterblocks", "books", "grindstones", "jukeboxes", "spawners", "4chan", "beehives", "respawnanchors", "autotp", "autoclear", "minecarts", "mp44", "landmines", "tossmob", "gravity"); @@ -199,6 +199,12 @@ public class Command_toggle extends FreedomCommand break; } + case "books": + { + toggle("Books are", ConfigEntry.ALLOW_BOOKS); + break; + } + case "grindstones": { toggle("Grindstones are", ConfigEntry.ALLOW_GRINDSTONES); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java index 019d7843..aad8c8aa 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java @@ -34,6 +34,7 @@ public enum ConfigEntry AUTO_CLEAR(Boolean.class, "allow.auto_clear"), ALLOW_GRAVITY(Boolean.class, "allow.gravity"), ALLOW_MASTERBLOCKS(Boolean.class, "allow.masterblocks"), + ALLOW_BOOKS(Boolean.class, "allow.books"), // BLOCKED_CHATCODES(String.class, "blocked_chatcodes"), // diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index dea8a9f3..6631fedb 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -220,6 +220,7 @@ allow: auto_clear: false gravity: false masterblocks: false + books: true blocked_commands: #