diff --git a/divinemc-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftCommandMap.java.patch b/divinemc-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftCommandMap.java.patch new file mode 100644 index 0000000..66c4e57 --- /dev/null +++ b/divinemc-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftCommandMap.java.patch @@ -0,0 +1,21 @@ +--- a/src/main/java/org/bukkit/craftbukkit/command/CraftCommandMap.java ++++ b/src/main/java/org/bukkit/craftbukkit/command/CraftCommandMap.java +@@ -14,4 +_,18 @@ + public Map getKnownCommands() { + return this.knownCommands; + } ++ ++ // DivineMC start - Force Minecraft command ++ @Override ++ public Command getCommand(String name) { ++ Command target = super.getCommand(name); ++ if (org.bxteam.divinemc.DivineConfig.forceMinecraftCommand && !(target instanceof org.bukkit.craftbukkit.command.VanillaCommandWrapper)) { ++ Command minecraftTarget = super.getCommand("minecraft:" + name); ++ if (minecraftTarget != null) { ++ return minecraftTarget; ++ } ++ } ++ return target; ++ } ++ // DivineMC end - Force Minecraft command + } diff --git a/divinemc-server/src/main/java/org/bxteam/divinemc/DivineConfig.java b/divinemc-server/src/main/java/org/bxteam/divinemc/DivineConfig.java index 8075ae0..9892076 100644 --- a/divinemc-server/src/main/java/org/bxteam/divinemc/DivineConfig.java +++ b/divinemc-server/src/main/java/org/bxteam/divinemc/DivineConfig.java @@ -286,6 +286,7 @@ public class DivineConfig { public static boolean updateSuppressionCrashFix = true; public static boolean useCompactBitStorage = false; public static boolean fixIncorrectBounceLogic = false; + public static boolean forceMinecraftCommand = false; private static void miscSettings() { skipUselessSecondaryPoiSensor = getBoolean("settings.misc.skip-useless-secondary-poi-sensor", skipUselessSecondaryPoiSensor); clumpOrbs = getBoolean("settings.misc.clump-orbs", clumpOrbs, @@ -299,6 +300,8 @@ public class DivineConfig { "Fixes memory waste caused by sending empty chunks as if they contain blocks. Can significantly reduce memory usage."); fixIncorrectBounceLogic = getBoolean("settings.misc.fix-incorrect-bounce-logic", fixIncorrectBounceLogic, "Fixes incorrect bounce logic in SlimeBlock."); + forceMinecraftCommand = getBoolean("settings.misc.force-minecraft-command", forceMinecraftCommand, + "Whether to force the use of vanilla commands over plugin commands."); } public static boolean disableDisconnectSpam = false;