From baa35167647cf940ec758565b030fa414b11ac5d Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 2 Nov 2022 00:51:04 +1300 Subject: [PATCH] Upload code --- .gitignore | 113 ++++++++++++++++++ pom.xml | 76 ++++++++++++ .../codes/silica/noprefix/LiEventHandler.java | 45 +++++++ .../java/codes/silica/noprefix/NoPrefix.java | 22 ++++ src/main/resources/plugin.yml | 8 ++ 5 files changed, 264 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/codes/silica/noprefix/LiEventHandler.java create mode 100644 src/main/java/codes/silica/noprefix/NoPrefix.java create mode 100644 src/main/resources/plugin.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4788b4b --- /dev/null +++ b/.gitignore @@ -0,0 +1,113 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +target/ + +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next + +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.flattened-pom.xml + +# Common working directory +run/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e5acd4a --- /dev/null +++ b/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + + codes.silica + noprefix + 1.0-SNAPSHOT + jar + + NoPrefix + + Blocks all commands containing prefix for non-OP (ex minecraft:me) + + 1.8 + UTF-8 + + silica.codes + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + false + + + + + + + + src/main/resources + true + + + + + + + spigotmc-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + org.spigotmc + spigot-api + 1.19.2-R0.1-SNAPSHOT + provided + + + diff --git a/src/main/java/codes/silica/noprefix/LiEventHandler.java b/src/main/java/codes/silica/noprefix/LiEventHandler.java new file mode 100644 index 0000000..d642abe --- /dev/null +++ b/src/main/java/codes/silica/noprefix/LiEventHandler.java @@ -0,0 +1,45 @@ +package codes.silica.noprefix; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; + +import static org.bukkit.Bukkit.getLogger; +import static org.bukkit.Bukkit.getServer; + +public class LiEventHandler implements Listener { + + private static boolean ENABLE_LOGGING = false; + + public static void log(String message){ + if(ENABLE_LOGGING){ + getLogger().info(message); + getServer().broadcastMessage(message); + } + } + + @EventHandler + public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { + log("onPlayerCommandPreprocessEvent"); + log("player: "+event.getPlayer().getName()); + log("message: "+event.getMessage()); + + if(!event.getPlayer().isOp()){ + + log("player is not OP"); + + String[] msg = event.getMessage().split(" "); + if(msg.length > 0){ + log("msg length: "+msg.length); + if(msg[0].contains(":")){ + log("msg[0]: "+msg[0]); + event.getPlayer().sendMessage("You do not have permission to use commands via prefix"); + event.setCancelled(true); + event.setMessage("/canceled"); + log("new message: "+event.getMessage()); + log("event canceled state: "+event.isCancelled()); + } + } + } + } + +} diff --git a/src/main/java/codes/silica/noprefix/NoPrefix.java b/src/main/java/codes/silica/noprefix/NoPrefix.java new file mode 100644 index 0000000..a938afd --- /dev/null +++ b/src/main/java/codes/silica/noprefix/NoPrefix.java @@ -0,0 +1,22 @@ +package codes.silica.noprefix; + +import org.bukkit.event.HandlerList; +import org.bukkit.plugin.java.JavaPlugin; + +public final class NoPrefix extends JavaPlugin { + + private LiEventHandler handler; + @Override + public void onEnable() { + // Plugin startup logic + handler = new LiEventHandler(); + getServer().getPluginManager().registerEvents(this.handler, this); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + HandlerList.unregisterAll(this.handler); + + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..fcbcc2e --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,8 @@ +name: NoPrefix +version: '${project.version}' +main: codes.silica.noprefix.NoPrefix +api-version: 1.19 +prefix: NoPrefix +authors: [ Li ] +description: Blocks all commands containing prefix for non-OP (ex minecraft:me) +website: silica.codes