Fall back to compatability layer when any command plugin is present

This commit is contained in:
Loki Rautio 2023-11-07 10:37:01 -06:00
parent 81daa2f46f
commit bf396488b7
3 changed files with 62 additions and 6 deletions

View File

@ -63,6 +63,7 @@ import com.sk89q.worldguard.bukkit.util.ClassSourceValidator;
import com.sk89q.worldguard.bukkit.util.Entities;
import com.sk89q.worldguard.bukkit.util.Events;
import com.sk89q.worldguard.commands.GeneralCommands;
import com.sk89q.worldguard.commands.GeneralCompatibleCommands;
import com.sk89q.worldguard.commands.ProtectionCommands;
import com.sk89q.worldguard.commands.ToggleCommands;
import com.sk89q.worldguard.domains.registry.SimpleDomainRegistry;
@ -165,6 +166,8 @@ public class WorldGuardPlugin extends JavaPlugin {
if (!platform.getGlobalStateManager().hasCommandBookGodMode() && !platform.getGlobalStateManager().hasEssentialsGodMode()) {
reg.register(GeneralCommands.class);
}else{
reg.register(GeneralCompatibleCommands.class);
}
getServer().getScheduler().scheduleSyncRepeatingTask(this, sessionManager, BukkitSessionManager.RUN_DELAY, BukkitSessionManager.RUN_DELAY);

View File

@ -39,7 +39,7 @@ public class GeneralCommands {
this.worldGuard = worldGuard;
}
@Command(aliases = {"god"}, usage = "[player]",
@Command(aliases = {"god", "wggod"}, usage = "[player]",
desc = "Enable godmode on a player", flags = "s", max = 1)
public void god(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
Iterable<? extends LocalPlayer> targets = null;
@ -84,7 +84,7 @@ public class GeneralCommands {
}
}
@Command(aliases = {"ungod"}, usage = "[player]",
@Command(aliases = {"ungod", "wgungod"}, usage = "[player]",
desc = "Disable godmode on a player", flags = "s", max = 1)
public void ungod(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
Iterable<? extends LocalPlayer> targets;
@ -127,7 +127,7 @@ public class GeneralCommands {
}
}
@Command(aliases = {"heal"}, usage = "[player]", desc = "Heal a player", flags = "s", max = 1)
@Command(aliases = {"heal", "wgheal"}, usage = "[player]", desc = "Heal a player", flags = "s", max = 1)
public void heal(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
Iterable<? extends LocalPlayer> targets = null;
@ -171,7 +171,7 @@ public class GeneralCommands {
}
}
@Command(aliases = {"slay"}, usage = "[player]", desc = "Slay a player", flags = "s", max = 1)
@Command(aliases = {"slay", "wgslay"}, usage = "[player]", desc = "Slay a player", flags = "s", max = 1)
public void slay(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
Iterable<? extends LocalPlayer> targets = Lists.newArrayList();
@ -212,7 +212,7 @@ public class GeneralCommands {
}
}
@Command(aliases = {"locate"}, usage = "[player]", desc = "Locate a player", max = 1)
@Command(aliases = {"locate", "locate"}, usage = "[player]", desc = "Locate a player", max = 1)
@CommandPermissions({"worldguard.locate"})
public void locate(CommandContext args, Actor sender) throws CommandException {
LocalPlayer player = worldGuard.checkPlayer(sender);
@ -229,7 +229,7 @@ public class GeneralCommands {
}
}
@Command(aliases = {"stack", ";"}, usage = "", desc = "Stack items", max = 0)
@Command(aliases = {"stack", "wgstack", ";"}, usage = "", desc = "Stack items", max = 0)
@CommandPermissions({"worldguard.stack"})
public void stack(CommandContext args, Actor sender) throws CommandException {
LocalPlayer player = worldGuard.checkPlayer(sender);
@ -238,4 +238,6 @@ public class GeneralCommands {
player.print("Items compacted into stacks!");
}
}

View File

@ -0,0 +1,51 @@
package com.sk89q.worldguard.commands;
import com.sk89q.minecraft.util.commands.Command;
import com.sk89q.minecraft.util.commands.CommandContext;
import com.sk89q.minecraft.util.commands.CommandException;
import com.sk89q.minecraft.util.commands.CommandPermissions;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.util.auth.AuthorizationException;
import com.sk89q.worldguard.WorldGuard;
public class GeneralCompatibleCommands {
private final GeneralCommands generalCommands;
public GeneralCompatibleCommands(WorldGuard worldGuard) {
this.generalCommands = new GeneralCommands(worldGuard);
}
@Command(aliases = {"wggod"}, usage = "[player]",
desc = "Enable godmode on a player", flags = "s", max = 1)
public void god(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
generalCommands.god(args, sender);
}
@Command(aliases = {"wgungod"}, usage = "[player]",
desc = "Disable godmode on a player", flags = "s", max = 1)
public void ungod(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
generalCommands.ungod(args, sender);
}
@Command(aliases = {"wgheal"}, usage = "[player]", desc = "Heal a player", flags = "s", max = 1)
public void heal(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
generalCommands.heal(args, sender);
}
@Command(aliases = {"wgslay"}, usage = "[player]", desc = "Slay a player", flags = "s", max = 1)
public void slay(CommandContext args, Actor sender) throws CommandException, AuthorizationException {
generalCommands.slay(args, sender);
}
@Command(aliases = {"wglocate"}, usage = "[player]", desc = "Locate a player", max = 1)
@CommandPermissions({"worldguard.locate"})
public void locate(CommandContext args, Actor sender) throws CommandException {
generalCommands.locate(args, sender);
}
@Command(aliases = {"wgstack", ";"}, usage = "", desc = "Stack items", max = 0)
@CommandPermissions({"worldguard.stack"})
public void stack(CommandContext args, Actor sender) throws CommandException {
generalCommands.stack(args, sender);
}
}