From 55745f68db6b404ce921bc0a9a410dbc8e7c0fac Mon Sep 17 00:00:00 2001 From: Morphan1 Date: Mon, 19 Sep 2016 18:10:31 -0400 Subject: [PATCH] Add a packet interception config setting --- plugin/src/main/java/net/aufdemrand/denizen/Denizen.java | 6 ++++-- .../src/main/java/net/aufdemrand/denizen/Settings.java | 5 +++++ plugin/src/main/resources/config.yml | 9 ++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java index 81b37dbcc1..8e7fead46d 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java @@ -862,8 +862,10 @@ public void onEnable() { dB.echoError(e); } - // Enable custom inbound packet listener - DenizenPacketListener.enable(); + if (Settings.packetInterception()) { + // Enable custom inbound packet listener + DenizenPacketListener.enable(); + } // Run everything else on the first server tick getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() { diff --git a/plugin/src/main/java/net/aufdemrand/denizen/Settings.java b/plugin/src/main/java/net/aufdemrand/denizen/Settings.java index 2fb7259eab..cc4f72b546 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/Settings.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/Settings.java @@ -425,4 +425,9 @@ public static int tagTimeout() { return DenizenAPI.getCurrentInstance().getConfig() .getInt("Tags.Timeout", 10); } + + public static boolean packetInterception() { + return DenizenAPI.getCurrentInstance().getConfig() + .getBoolean("Packets.Interception", true); + } } diff --git a/plugin/src/main/resources/config.yml b/plugin/src/main/resources/config.yml index 27c7b348db..c7dba6a35b 100644 --- a/plugin/src/main/resources/config.yml +++ b/plugin/src/main/resources/config.yml @@ -139,7 +139,14 @@ Tags: # How many player messages will be stored for each player (, etc.) Max messages: 10 +Packets: + # Whether to allow Denizen to intercept packets from and to player clients. + # This enables access to certain ScriptEvents, such as PlayerSteers and PlayerReceivesMessage. + # It also enables hiding item script IDs and most likely has no real reason to be disabled. + # Note that changing this setting requires a full server restart. + Interception: true + # The version of this configuration file, used to check if your # configuration file is outdated or too new Config: - Version: 13 + Version: 14