diff options
author | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
---|---|---|
committer | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
commit | 604cf01967ede98bf5024e4926bb0777fc4e8eee (patch) | |
tree | e2fa63d7e683769ee3bf3eddc75280648e92eb04 /src/main/java/com/redstoner/modules/teleport | |
parent | e86c52ef7c0e1e33c6af0e8674b038976bec11cc (diff) |
Converted Modules to gradle
Diffstat (limited to 'src/main/java/com/redstoner/modules/teleport')
-rw-r--r-- | src/main/java/com/redstoner/modules/teleport/Teleport.cmd | 142 | ||||
-rw-r--r-- | src/main/java/com/redstoner/modules/teleport/Teleport.java | 185 |
2 files changed, 327 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.cmd b/src/main/java/com/redstoner/modules/teleport/Teleport.cmd new file mode 100644 index 0000000..4e5930e --- /dev/null +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.cmd @@ -0,0 +1,142 @@ +command teleport { + alias eteleport; + alias tp; + alias etp; + alias to; + alias eto; + alias tpo; + alias etpo; + alias tp2p; + alias etp2p; + [player:string] { + run tp player; + } + [player:string] [player2:string] { + run tp2 player player2; + } +} + +command teleporthere { + alias eteleporthere; + alias tphere; + alias etphere; + alias tpohere; + alias etpohere; + [player:string] { + run tph player; + } +} + +command teleportask { + alias eteleportask; + alias tpa; + alias etpa; + alias tpr; + alias etpr; + alias tpask; + alias etpask; + [player:string] { + run tpa player; + } +} + +command teleportaskhere { + alias eteleportaskhere; + alias tpahere, + alias etpahere; + alias tprhere; + alias etrphere; + alias tpaskhere; + alias etpaskhere; + [player:string] { + run tpah player; + help ask another player to teleport to you.; + } +} + +command tpall { + alias etpall; + [empty] { + run tpall; + help Teleports everyone to you.; + } + [player] { + run tpall2 player; + help Teleports everyone to the specified player.; + } + perm utils.admin.teleport; +} + +command tpaall { + alias etpall; + [empty] { + run tpaall; + help Sends a tpa request to every player.; + perm utils.admin.teleport; + } + [player:string] { + run tpaall2 player; + help Sends a tpa request to every player.; + } + perm utils.admin.teleport; +} + +command tpaccept { + alias etpaccept; + alias tpyes; + alias etpyes; + [empty] { + run tpaccept; + help Accepts the latest pending tpa request.; + } + [index:int] { + run tpaccept2 index; + help Accepts the specified pending tpa request.; + } + perm utils.teleport.request; +} + +command tpacancel { + alias etpacencel; + [empty] { + run tpacancel; + help Cancels an outgoing pending tpa request.; + perm utils.teleport.request; + } +} + +command tpdeny { + alias etpdeny; + alias tpno; + alias etpno; + perm utils.teleport.request; + [empty] { + run tpdeny; + } + [index:int] { + run tpdeny2 index; + } +} + +command tplist { + alias etplist; + alias tpl; + alias etpl; + [empty] { + run tpl; + } +} + +command tptoggle { + alias etptoggle; + [status:string] { + run tptoggle status; + help sets your tpa status; + perm utils.teleport.toggle; + } + [command:string] [status:string] { + run tptoggle2 command status; + help sets your tpa status for only one command (e.g. tpa/tpahere).; + perm utils.teleport.toggle; + } +}
\ No newline at end of file diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java new file mode 100644 index 0000000..7680852 --- /dev/null +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -0,0 +1,185 @@ +package com.redstoner.modules.teleport; + +import java.util.ArrayList; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import com.nemez.cmdmgr.Command; +import com.redstoner.annotations.Commands; +import com.redstoner.annotations.Version; +import com.redstoner.misc.CommandHolderType; +import com.redstoner.modules.Module; +import com.redstoner.modules.datamanager.DataManager; + +import net.nemez.chatapi.click.Message; + +@Commands(CommandHolderType.File) +@Version(major = 4, minor = 0, revision = 0, compatible = 4) +public class Teleport implements Module +{ + public static final String PERMISSION_TELEPORT = "utils.admin.teleport"; + + public ArrayList<TPRequest> pending_requests; + + @Override + public void postEnable() + { + pending_requests = new ArrayList<TPRequest>(); + } + + @Command(hook = "tp") + public boolean teleport(CommandSender sender, String player) + { + if (!sender.hasPermission(PERMISSION_TELEPORT)) + return tpa(sender, player); + return true; + } + + @Command(hook = "tp2") + public boolean teleport(CommandSender sender, String player, String player2) + { + if (!sender.hasPermission(PERMISSION_TELEPORT)) + if (player2.equals(((Player) sender).getName())) + return tpahere(sender, player); + else + { + getLogger().message(sender, "You do not have the required permissions to run that Command!"); + return true; + } + Player p1 = Bukkit.getPlayer(player); + Player p2 = Bukkit.getPlayer(player2); + if (p1 == null || p2 == null) + { + getLogger().message(sender, true, "The specified player couldn't be found!"); + return true; + } + p1.teleport(p2); + getLogger().message(p1, "You have been teleported to: " + p2.getDisplayName()); + if (!sender.getName().equals(p1.getName())) + getLogger().message(sender, + p1.getDisplayName() + "&7 has been teleported to " + p2.getDisplayName() + "&7!"); + return true; + } + + @Command(hook = "tpa") + public boolean tpa(CommandSender sender, String player) + { + return true; + } + + @Command(hook = "tpahere") + public boolean tpahere(CommandSender sender, String player) + { + return true; + } + + @Command(hook = "tpmenu") + public boolean tpinventory(CommandSender sender) + { + + return true; + } + + protected void remove(TPRequest request) + { + + } +} + +class TPRequest implements Runnable +{ + private final Teleport holder; + private final Player sender; + private final Player target; + private final Type type; + private int index; + + Thread t; + + public TPRequest(Player sender, Player target, Type type, int index, Teleport holder) + { + this.sender = sender; + this.target = target; + this.type = type; + this.index = 0; + this.holder = holder; + } + + public Player getSender() + { + return sender; + } + + public Player getTarget() + { + return target; + } + + public Type getType() + { + return type; + } + + public int getIndex() + { + return index; + } + + public void setIndex(int index) + { + this.index = index; + } + + public void execute() + { + switch (type) + { + case tpa: + sender.teleport(target); + break; + case tpahere: + target.teleport(sender); + break; + } + } + + public void abort() + { + t.interrupt(); + } + + @Override + public void run() + { + t = Thread.currentThread(); + try + { + Thread.sleep(60000); + } + catch (InterruptedException e) + { + holder.remove(this); + Message m = new Message(sender, null); + if (DataManager.getState(sender, "AFK")) + { + m.appendText(target.getDisplayName() + " is AFK and might not respond. "); + m.appendSendChat("Try again?", "/" + type.toString() + " " + target.getName()); + } + if (DataManager.getState(sender, "BUSY")) + { + m.appendText(target.getDisplayName() + " is BUSY and might not respond. "); + m.appendSendChat("Try again?", "/" + type.toString() + " " + target.getName()); + } + return; + } + holder.remove(this); + } +} + +enum Type +{ + tpa, + tpahere; +} |