toggles and timeouts

This commit is contained in:
MattBDev
2019-06-30 14:56:32 -04:00
parent 0feebac44b
commit ffc2092d93
19 changed files with 272 additions and 172 deletions

View File

@ -45,7 +45,7 @@ public class BukkitPlayer extends FawePlayer<Player> {
* Permissions are used to managing WorldEdit region restrictions
* - The `/wea` command will give/remove the required bypass permission
*/
if (Fawe.<FaweBukkit> imp().getVault() == null || Fawe.<FaweBukkit> imp().getVault().permission == null) {
if (Fawe.<FaweBukkit>imp().getVault() == null || Fawe.<FaweBukkit> imp().getVault().permission == null) {
this.parent.addAttachment(Fawe.<FaweBukkit> imp().getPlugin()).setPermission(perm, flag);
} else if (flag) {
if (!Fawe.<FaweBukkit> imp().getVault().permission.playerAdd(this.parent, perm)) {

View File

@ -21,7 +21,6 @@ package com.sk89q.worldedit.bukkit;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.CUIEvent;
import com.sk89q.worldedit.session.SessionKey;
@ -29,11 +28,10 @@ import com.sk89q.worldedit.util.auth.AuthorizationException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import javax.annotation.Nullable;
import java.io.File;
import java.util.UUID;
import javax.annotation.Nullable;
public class BukkitCommandSender implements Actor {
/**
@ -106,6 +104,13 @@ public class BukkitCommandSender implements Actor {
return true;
}
@Override public boolean togglePermission(String permission) {
return false;
}
@Override public void setPermission(String permission, boolean value) {
}
@Override
public void checkPermission(String permission) throws AuthorizationException {
}

View File

@ -19,6 +19,8 @@
package com.sk89q.worldedit.bukkit;
import com.boydti.fawe.Fawe;
import com.boydti.fawe.bukkit.FaweBukkit;
import com.boydti.fawe.object.RunnableVal;
import com.boydti.fawe.util.TaskManager;
@ -200,6 +202,33 @@ public class BukkitPlayer extends AbstractPlayerActor {
player.getWorld().getName(), player, perm);
}
@Override public boolean togglePermission(String permission) {
if (this.hasPermission(permission)) {
player.addAttachment(plugin).setPermission(permission, false);
return false;
} else {
player.addAttachment(plugin).setPermission(permission, true);
return true;
}
}
@Override
public void setPermission(String permission, boolean value) {
/*
* Permissions are used to managing WorldEdit region restrictions
* - The `/wea` command will give/remove the required bypass permission
*/
if (Fawe.<FaweBukkit>imp().getVault() == null || Fawe.<FaweBukkit> imp().getVault().permission == null) {
player.addAttachment(Fawe.<FaweBukkit> imp().getPlugin()).setPermission(permission, value);
} else if (value) {
if (!Fawe.<FaweBukkit> imp().getVault().permission.playerAdd(player, permission)) {
player.addAttachment(Fawe.<FaweBukkit> imp().getPlugin()).setPermission(permission, value);
}
} else if (!Fawe.<FaweBukkit>imp().getVault().permission.playerRemove(player, permission)) {
player.addAttachment(Fawe.<FaweBukkit>imp().getPlugin()).setPermission(permission, value);
}
}
@Override
public World getWorld() {
return BukkitAdapter.adapt(player.getWorld());