Added (WIP!) new modules and utils:
Modules: - Friends - IPLock - Teleport Utils:
This commit is contained in:
38
src/com/redstoner/modules/friends/Friends.cmd
Normal file
38
src/com/redstoner/modules/friends/Friends.cmd
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
command friends {
|
||||||
|
add [string:name] {
|
||||||
|
run add name;
|
||||||
|
help Adds a friend to your friendlist.;
|
||||||
|
perm utils.friends;
|
||||||
|
}
|
||||||
|
add [string:name] [string:group] {
|
||||||
|
run add_grouped name group;
|
||||||
|
help Adds a friend to a group of friends;
|
||||||
|
perm utils.friends.groups;
|
||||||
|
}
|
||||||
|
remove [string:name] {
|
||||||
|
run del name;
|
||||||
|
help Removes a friend from your friendlist.;
|
||||||
|
perm utils.friends;
|
||||||
|
}
|
||||||
|
remove [string:name] [string:group] {
|
||||||
|
run del_grouped name group;
|
||||||
|
help Removes a friend from a group of friends;
|
||||||
|
perm utils.friends.groups;
|
||||||
|
}
|
||||||
|
list {
|
||||||
|
run list;
|
||||||
|
help Shows a list of all your friends.;
|
||||||
|
perm utils.friends;
|
||||||
|
}
|
||||||
|
list [string:group] {
|
||||||
|
run list_group group;
|
||||||
|
help Shows a list of all friends in that group.;
|
||||||
|
perm utils.friends.groups;
|
||||||
|
}
|
||||||
|
groups {
|
||||||
|
run list_groups;
|
||||||
|
help Shows all your friend groups that have at least one person in them.;
|
||||||
|
perm utils.friends.groups;
|
||||||
|
}
|
||||||
|
type player;
|
||||||
|
}
|
||||||
371
src/com/redstoner/modules/friends/Friends.java
Normal file
371
src/com/redstoner/modules/friends/Friends.java
Normal file
@@ -0,0 +1,371 @@
|
|||||||
|
package com.redstoner.modules.friends;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
import org.json.simple.JSONArray;
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
import com.nemez.cmdmgr.Command;
|
||||||
|
import com.nemez.cmdmgr.CommandManager;
|
||||||
|
import com.redstoner.annotations.AutoRegisterListener;
|
||||||
|
import com.redstoner.annotations.Version;
|
||||||
|
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||||
|
import com.redstoner.misc.Main;
|
||||||
|
import com.redstoner.misc.Utils;
|
||||||
|
import com.redstoner.modules.CoreModule;
|
||||||
|
import com.redstoner.modules.Module;
|
||||||
|
import com.redstoner.modules.datamanager.DataManager;
|
||||||
|
|
||||||
|
@AutoRegisterListener
|
||||||
|
@Version(major = 3, minor = 0, revision = 1, compatible = 3)
|
||||||
|
public class Friends implements CoreModule
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void postEnable()
|
||||||
|
{
|
||||||
|
CommandManager.registerCommand(getClass().getResourceAsStream("Friends.cmd"), this, Main.plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent e)
|
||||||
|
{
|
||||||
|
JSONArray friended_by = (JSONArray) DataManager.getOrDefault(e.getPlayer(), "friended_by", new JSONArray());
|
||||||
|
for (Object obj : friended_by)
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.fromString((String) obj);
|
||||||
|
Player p = Bukkit.getPlayer(uuid);
|
||||||
|
if (p != null && p.canSee(e.getPlayer()))
|
||||||
|
{
|
||||||
|
Utils.sendMessage(p, null, "Your friend &e" + e.getPlayer().getDisplayName() + "&7 just joined!", '&');
|
||||||
|
p.playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSONArray notifications = (JSONArray) DataManager.getOrDefault(e.getPlayer(), "scheduled_notifications",
|
||||||
|
new JSONArray());
|
||||||
|
for (Object obj : notifications)
|
||||||
|
Utils.sendMessage(e.getPlayer(), null, (String) obj, '&');
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onPlayerLeave(PlayerQuitEvent e)
|
||||||
|
{
|
||||||
|
JSONArray friended_by = (JSONArray) DataManager.getOrDefault(e.getPlayer(), "friended_by", new JSONArray());
|
||||||
|
for (Object obj : friended_by)
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.fromString((String) obj);
|
||||||
|
Player p = Bukkit.getPlayer(uuid);
|
||||||
|
if (p != null && p.canSee(e.getPlayer()))
|
||||||
|
{
|
||||||
|
Utils.sendMessage(p, null, "Your friend &e" + e.getPlayer().getDisplayName() + "&7 just left!", '&');
|
||||||
|
p.playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({"unchecked", "deprecation"})
|
||||||
|
@Command(hook = "add")
|
||||||
|
public boolean add(CommandSender sender, String target)
|
||||||
|
{
|
||||||
|
if (target.equalsIgnoreCase("CONSOLE"))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You can't add console to your friends!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
OfflinePlayer p = Bukkit.getPlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
p = Bukkit.getOfflinePlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
JSONArray friends = ((JSONArray) DataManager.getOrDefault(sender, "friends", new JSONArray()));
|
||||||
|
if (friends.contains(p.getUniqueId().toString()))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You are already friends with this person!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
friends.add(p.getUniqueId().toString());
|
||||||
|
DataManager.save(sender);
|
||||||
|
JSONArray friended_by = ((JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(), "friended_by",
|
||||||
|
new JSONArray()));
|
||||||
|
friended_by.add(getID(sender));
|
||||||
|
DataManager.save(p.getUniqueId().toString());
|
||||||
|
Utils.sendMessage(sender, null, "You are now friends with &e" + p.getName() + "&7!", '&');
|
||||||
|
if (p instanceof Player)
|
||||||
|
{
|
||||||
|
Utils.sendMessage((Player) p, null, "&e" + Utils.getName(sender) + "&7 added you as a friend!", '&');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JSONArray notifications = (JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(),
|
||||||
|
"scheduled_notifications", new JSONArray());
|
||||||
|
notifications.add("&e" + Utils.getName(sender) + "&7 added you as a friend!");
|
||||||
|
notifications.remove("&e" + Utils.getName(sender) + "&7 removed you as a friend!");
|
||||||
|
DataManager.setData(p.getUniqueId().toString(), "scheduled_notifications", notifications);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({"deprecation", "unchecked"})
|
||||||
|
@Command(hook = "add_grouped")
|
||||||
|
public boolean add_grouped(CommandSender sender, String target, String group)
|
||||||
|
{
|
||||||
|
if (target.equalsIgnoreCase("CONSOLE"))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You can't add console to your friends!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
OfflinePlayer p = Bukkit.getPlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
p = Bukkit.getOfflinePlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
JSONArray friends = ((JSONArray) DataManager.getOrDefault(sender, "groups." + group, new JSONArray()));
|
||||||
|
if (friends.contains(p.getUniqueId().toString()))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "This person already is part of that friendsgroup!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
friends.add(p.getUniqueId().toString());
|
||||||
|
DataManager.save(sender);
|
||||||
|
Utils.sendMessage(sender, null, "&e" + p.getName() + "&7 is now part of the group &e" + group + "&7!", '&');
|
||||||
|
if (p instanceof Player)
|
||||||
|
{
|
||||||
|
Utils.sendMessage((Player) p, null,
|
||||||
|
"&e" + Utils.getName(sender) + " &7added you to their friendsgroup &e" + group + "&7!", '&');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JSONArray notifications = (JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(),
|
||||||
|
"scheduled_notifications", new JSONArray());
|
||||||
|
notifications.add("&e" + Utils.getName(sender) + " &7added you to their friendsgroup &e" + group + "&7!");
|
||||||
|
notifications
|
||||||
|
.remove("&e" + Utils.getName(sender) + " &7removed you from their friendsgroup &e" + group + "&7!");
|
||||||
|
DataManager.setData(p.getUniqueId().toString(), "scheduled_notifications", notifications);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({"deprecation", "unchecked"})
|
||||||
|
@Command(hook = "del")
|
||||||
|
public boolean del(CommandSender sender, String target)
|
||||||
|
{
|
||||||
|
if (target.equalsIgnoreCase("CONSOLE"))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You can't add console to your friends!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
OfflinePlayer p = Bukkit.getPlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
p = Bukkit.getOfflinePlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
JSONArray friends = ((JSONArray) DataManager.getOrDefault(sender, "friends", new JSONArray()));
|
||||||
|
if (friends.contains(p.getUniqueId().toString()))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You are already friends with this person!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
friends.remove(p.getUniqueId().toString());
|
||||||
|
DataManager.save(sender);
|
||||||
|
JSONArray friended_by = ((JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(), "friended_by",
|
||||||
|
new JSONArray()));
|
||||||
|
friended_by.remove(getID(sender));
|
||||||
|
DataManager.save(p.getUniqueId().toString());
|
||||||
|
Utils.sendMessage(sender, null, "You are now friends with &e" + p.getName() + "&7!", '&');
|
||||||
|
if (p instanceof Player)
|
||||||
|
{
|
||||||
|
Utils.sendMessage((Player) p, null, "&e" + Utils.getName(sender) + "&7 added you as a friend!", '&');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JSONArray notifications = (JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(),
|
||||||
|
"scheduled_notifications", new JSONArray());
|
||||||
|
notifications.add("&e" + Utils.getName(sender) + "&7 removed you as a friend!");
|
||||||
|
notifications.remove("&e" + Utils.getName(sender) + "&7 added you as a friend!");
|
||||||
|
DataManager.setData(p.getUniqueId().toString(), "scheduled_notifications", notifications);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({"deprecation", "unchecked"})
|
||||||
|
@Command(hook = "del_grouped")
|
||||||
|
public boolean del_grouped(CommandSender sender, String target, String group)
|
||||||
|
{
|
||||||
|
if (target.equalsIgnoreCase("CONSOLE"))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You can't add console to your friends!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
OfflinePlayer p = Bukkit.getPlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
p = Bukkit.getOfflinePlayer(target);
|
||||||
|
if (p == null)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
JSONArray friends = ((JSONArray) DataManager.getOrDefault(sender, "groups." + group, new JSONArray()));
|
||||||
|
if (friends.contains(p.getUniqueId().toString()))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "This person already is part of that friendsgroup!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
friends.add(p.getUniqueId().toString());
|
||||||
|
DataManager.save(sender);
|
||||||
|
Utils.sendMessage(sender, null, "&e" + p.getName() + "&7 is now part of the group &e" + group + "&7!", '&');
|
||||||
|
if (p instanceof Player)
|
||||||
|
{
|
||||||
|
Utils.sendMessage((Player) p, null,
|
||||||
|
"&e" + Utils.getName(sender) + " &7added you to their friendsgroup &e" + group + "&7!", '&');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JSONArray notifications = (JSONArray) DataManager.getOrDefault(p.getUniqueId().toString(),
|
||||||
|
"scheduled_notifications", new JSONArray());
|
||||||
|
notifications
|
||||||
|
.add("&e" + Utils.getName(sender) + " &7removed you from their friendsgroup &e" + group + "&7!");
|
||||||
|
notifications
|
||||||
|
.remove("&e" + Utils.getName(sender) + " &7added you to their friendsgroup &e" + group + "&7!");
|
||||||
|
DataManager.setData(p.getUniqueId().toString(), "scheduled_notifications", notifications);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(hook = "list")
|
||||||
|
public boolean list(CommandSender sender)
|
||||||
|
{
|
||||||
|
JSONArray friends = (JSONArray) DataManager.getOrDefault(sender, "friends", new JSONArray());
|
||||||
|
if (friends.size() == 0)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You didn't add anyone to your friendslist yet.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Utils.sendModuleHeader(sender);
|
||||||
|
Utils.sendMessage(sender, "", "You have a total of &e" + friends.size() + "&7 friends:", '&');
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (Object o : friends.toArray())
|
||||||
|
{
|
||||||
|
UUID id = UUID.fromString((String) o);
|
||||||
|
Player p = Bukkit.getPlayer(id);
|
||||||
|
if (p != null)
|
||||||
|
sb.append(p.getDisplayName() + "&7, ");
|
||||||
|
else
|
||||||
|
sb.append("&9" + Bukkit.getOfflinePlayer(id).getName() + "&7, ");
|
||||||
|
}
|
||||||
|
String out = sb.toString().replaceAll(", $", "");
|
||||||
|
Utils.sendMessage(sender, "", out, '&');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(hook = "list_group")
|
||||||
|
public boolean list_group(CommandSender sender, String group)
|
||||||
|
{
|
||||||
|
JSONArray friends = (JSONArray) DataManager.getOrDefault(sender, "group." + group, new JSONArray());
|
||||||
|
if (friends.size() == 0)
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You didn't add anyone to this group yet.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Utils.sendModuleHeader(sender);
|
||||||
|
Utils.sendMessage(sender, "", "You have a total of &e" + friends.size() + "&7 friends added to this group:",
|
||||||
|
'&');
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (Object o : friends.toArray())
|
||||||
|
{
|
||||||
|
UUID id = UUID.fromString((String) o);
|
||||||
|
Player p = Bukkit.getPlayer(id);
|
||||||
|
if (p != null)
|
||||||
|
sb.append(p.getDisplayName() + "&7, ");
|
||||||
|
else
|
||||||
|
sb.append("&9" + Bukkit.getOfflinePlayer(id).getName() + "&7, ");
|
||||||
|
}
|
||||||
|
String out = sb.toString().replaceAll(", $", "");
|
||||||
|
Utils.sendMessage(sender, "", out, '&');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(hook = "list_groups")
|
||||||
|
public boolean list_groups(CommandSender sender)
|
||||||
|
{
|
||||||
|
JSONObject raw = (JSONObject) DataManager.getOrDefault(sender, null, new JSONObject());
|
||||||
|
Set<?> keys = raw.keySet();
|
||||||
|
if (keys.size() == 0 || (keys.contains("friends") && keys.size() == 1))
|
||||||
|
{
|
||||||
|
Utils.sendErrorMessage(sender, null, "You don't have any custom groups made yet.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Utils.sendModuleHeader(sender);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (Object o : keys)
|
||||||
|
{
|
||||||
|
sb.append("&e" + (String) o + "&7, ");
|
||||||
|
}
|
||||||
|
String out = sb.toString().replaceAll(", $", "");
|
||||||
|
Utils.sendMessage(sender, "", out, '&');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isFriend(CommandSender player, CommandSender friend)
|
||||||
|
{
|
||||||
|
return isFriend(player, friend, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isFriend(CommandSender player, CommandSender friend, String condition)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Module mod = ModuleLoader.getModule("Friends");
|
||||||
|
Method m = mod.getClass().getDeclaredMethod("isFriend_", String.class);
|
||||||
|
return (boolean) m.invoke(mod, player, friend, condition);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean isFriend_(CommandSender player, CommandSender friend, String group)
|
||||||
|
{
|
||||||
|
if (group == null)
|
||||||
|
group = "friends";
|
||||||
|
else if (!group.startsWith("group."))
|
||||||
|
group = "group." + group;
|
||||||
|
JSONArray array = (JSONArray) DataManager.getOrDefault(player, group, new JSONArray());
|
||||||
|
return array.contains(getID(friend));
|
||||||
|
}
|
||||||
|
|
||||||
|
private final String getID(CommandSender sender)
|
||||||
|
{
|
||||||
|
if (sender instanceof Player)
|
||||||
|
return ((Player) sender).getUniqueId().toString();
|
||||||
|
else
|
||||||
|
return sender.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/com/redstoner/modules/iplock/IPLock.java
Normal file
26
src/com/redstoner/modules/iplock/IPLock.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package com.redstoner.modules.iplock;
|
||||||
|
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
||||||
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
import com.redstoner.annotations.Version;
|
||||||
|
import com.redstoner.modules.Module;
|
||||||
|
|
||||||
|
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||||
|
public class IPLock implements Module, Listener
|
||||||
|
{
|
||||||
|
JSONObject iplocks;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void postEnable()
|
||||||
|
{}
|
||||||
|
|
||||||
|
public void onPlayerJoin(AsyncPlayerPreLoginEvent event)
|
||||||
|
{
|
||||||
|
event.getAddress().getHostAddress().toString();
|
||||||
|
event.setKickMessage("");
|
||||||
|
event.setLoginResult(Result.KICK_OTHER);
|
||||||
|
}
|
||||||
|
}
|
||||||
5
src/com/redstoner/modules/teleport/Teleport.cmd
Normal file
5
src/com/redstoner/modules/teleport/Teleport.cmd
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
command teleport {
|
||||||
|
alias tp;
|
||||||
|
alias to;
|
||||||
|
|
||||||
|
}
|
||||||
12
src/com/redstoner/modules/teleport/Teleport.java
Normal file
12
src/com/redstoner/modules/teleport/Teleport.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package com.redstoner.modules.teleport;
|
||||||
|
|
||||||
|
import com.redstoner.annotations.Version;
|
||||||
|
import com.redstoner.modules.Module;
|
||||||
|
|
||||||
|
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||||
|
public class Teleport implements Module
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void postEnable()
|
||||||
|
{}
|
||||||
|
}
|
||||||
158
src/com/redstoner/utils/Susender.java
Normal file
158
src/com/redstoner/utils/Susender.java
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
package com.redstoner.utils;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.bukkit.Server;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.permissions.Permission;
|
||||||
|
import org.bukkit.permissions.PermissionAttachment;
|
||||||
|
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import com.redstoner.annotations.Version;
|
||||||
|
|
||||||
|
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||||
|
public class Susender implements CommandSender
|
||||||
|
{
|
||||||
|
final CommandSender sender;
|
||||||
|
CommandSender permission;
|
||||||
|
CommandSender output;
|
||||||
|
|
||||||
|
public Susender(CommandSender sender, CommandSender permissionHolder, CommandSender outputTarget)
|
||||||
|
{
|
||||||
|
this.sender = sender;
|
||||||
|
this.permission = permissionHolder;
|
||||||
|
this.output = outputTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PermissionAttachment addAttachment(Plugin arg0)
|
||||||
|
{
|
||||||
|
return sender.addAttachment(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PermissionAttachment addAttachment(Plugin arg0, int arg1)
|
||||||
|
{
|
||||||
|
return sender.addAttachment(arg0, arg1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PermissionAttachment addAttachment(Plugin arg0, String arg1, boolean arg2)
|
||||||
|
{
|
||||||
|
return sender.addAttachment(arg0, arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PermissionAttachment addAttachment(Plugin arg0, String arg1, boolean arg2, int arg3)
|
||||||
|
{
|
||||||
|
return sender.addAttachment(arg0, arg1, arg2, arg3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<PermissionAttachmentInfo> getEffectivePermissions()
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
return sender.getEffectivePermissions();
|
||||||
|
return permission.getEffectivePermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermission(String arg0)
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
return sender.hasPermission(arg0);
|
||||||
|
return permission.hasPermission(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermission(Permission arg0)
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
return sender.hasPermission(arg0);
|
||||||
|
return permission.hasPermission(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPermissionSet(String arg0)
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
return sender.isPermissionSet(arg0);
|
||||||
|
return permission.isPermissionSet(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPermissionSet(Permission arg0)
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
return sender.isPermissionSet(arg0);
|
||||||
|
return permission.isPermissionSet(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void recalculatePermissions()
|
||||||
|
{
|
||||||
|
if (permission == null)
|
||||||
|
sender.recalculatePermissions();
|
||||||
|
else
|
||||||
|
permission.recalculatePermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeAttachment(PermissionAttachment arg0)
|
||||||
|
{
|
||||||
|
sender.removeAttachment(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOp()
|
||||||
|
{
|
||||||
|
return permission.isOp();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setOp(boolean arg0)
|
||||||
|
{
|
||||||
|
sender.setOp(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return sender.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Server getServer()
|
||||||
|
{
|
||||||
|
return sender.getServer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(String arg0)
|
||||||
|
{
|
||||||
|
if (output == null)
|
||||||
|
sender.sendMessage(arg0);
|
||||||
|
else
|
||||||
|
output.sendMessage(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(String[] arg0)
|
||||||
|
{
|
||||||
|
if (output == null)
|
||||||
|
sender.sendMessage(arg0);
|
||||||
|
else
|
||||||
|
output.sendMessage(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutputTarget(CommandSender outputTarget)
|
||||||
|
{
|
||||||
|
output = outputTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPermissionHolder(CommandSender permissionHolder)
|
||||||
|
{
|
||||||
|
permission = permissionHolder;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user