@@ -1,11 +0,0 @@
|
||||
package com.redstoner.exceptions;
|
||||
|
||||
public class PlayerNotFoundException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -7517266613348837760L;
|
||||
|
||||
public PlayerNotFoundException()
|
||||
{
|
||||
super("That player could not be found!");
|
||||
}
|
||||
}
|
||||
@@ -12,14 +12,16 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Abot implements Module, Listener
|
||||
{
|
||||
private File answerFile = new File(Main.plugin.getDataFolder(), "abot.json");
|
||||
@@ -40,7 +42,7 @@ public class Abot implements Module, Listener
|
||||
if (hideperm == null || !event.getPlayer().hasPermission((String) hideperm))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
Utils.sendMessage(event.getPlayer(), null, (String) entry.get("message"), '&');
|
||||
getLogger().message(event.getPlayer(), (String) entry.get("message"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -54,7 +56,7 @@ public class Abot implements Module, Listener
|
||||
answers = JsonManager.getArray(answerFile);
|
||||
if (answers == null)
|
||||
answers = new JSONArray();
|
||||
Utils.sendMessage(sender, null, "Loaded the abot.json file!");
|
||||
getLogger().message(sender, "Loaded the abot.json file!");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -70,7 +72,7 @@ public class Abot implements Module, Listener
|
||||
{
|
||||
return "command abot {\n" +
|
||||
" reload {" +
|
||||
" help Reloads answes from the .json file.;\n" +
|
||||
" help Reloads answers from the .json file.;\n" +
|
||||
" run abot_reload;\n" +
|
||||
" perm utils.abot.reload;" +
|
||||
" }\n" +
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.redstoner.modules.adminchat;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -13,8 +14,10 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
@@ -23,8 +26,9 @@ import com.redstoner.modules.Module;
|
||||
/** AdminChat module. Allows staff to chat to other staff using /ac \<message\> as well as a one char prefix or a toggle.
|
||||
*
|
||||
* @author Pepich */
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 2, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Adminchat implements Module, Listener
|
||||
{
|
||||
private static final char defaultKey = ',';
|
||||
@@ -109,7 +113,7 @@ public class Adminchat implements Module, Listener
|
||||
{
|
||||
return recipient.hasPermission("utils.ac");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -123,7 +127,7 @@ public class Adminchat implements Module, Listener
|
||||
{
|
||||
return recipient.hasPermission("utils.ac");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -138,12 +142,12 @@ public class Adminchat implements Module, Listener
|
||||
if (actoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
actoggled.remove(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "ACT now §cdisabled");
|
||||
getLogger().message(sender, "ACT now §cdisabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
actoggled.add(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "ACT now §aenabled");
|
||||
getLogger().message(sender, "ACT now §aenabled");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -158,10 +162,10 @@ public class Adminchat implements Module, Listener
|
||||
if (!actoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
actoggled.add(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "ACT now §aenabled");
|
||||
getLogger().message(sender, "ACT now §aenabled");
|
||||
}
|
||||
else
|
||||
Utils.sendMessage(sender, null, "ACT was already enabled");
|
||||
getLogger().message(sender, "ACT was already enabled");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -175,11 +179,11 @@ public class Adminchat implements Module, Listener
|
||||
if (actoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
actoggled.remove(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "ACT now §cdisabled");
|
||||
getLogger().message(sender, "ACT now §cdisabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "ACT was already disabled");
|
||||
getLogger().message(sender, "ACT was already disabled");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -196,7 +200,7 @@ public class Adminchat implements Module, Listener
|
||||
if (event.getMessage().startsWith(getKey(player)))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
acSay(event.getPlayer(), event.getMessage().replaceFirst(getKey(player), ""));
|
||||
acSay(event.getPlayer(), event.getMessage().replaceFirst(Pattern.quote(getKey(player)), ""));
|
||||
}
|
||||
else if (actoggled.contains(event.getPlayer().getUniqueId()))
|
||||
{
|
||||
@@ -216,7 +220,7 @@ public class Adminchat implements Module, Listener
|
||||
{
|
||||
if (key.length() > 1)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"Could not set your key to §6" + key + " §7, it can be at most one char.");
|
||||
return true;
|
||||
}
|
||||
@@ -225,7 +229,7 @@ public class Adminchat implements Module, Listener
|
||||
getAcKey(sender);
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Set your key to §6" + key);
|
||||
getLogger().message(sender, "Set your key to §6" + key);
|
||||
keys.put(((Player) sender).getUniqueId().toString(), key + "");
|
||||
saveKeys();
|
||||
return true;
|
||||
@@ -246,7 +250,7 @@ public class Adminchat implements Module, Listener
|
||||
* @param sender the issuer of the command. */
|
||||
public void getAcKey(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Your current ackey is §6" + getKey((Player) sender));
|
||||
getLogger().message(sender, "Your current ackey is §6" + getKey((Player) sender));
|
||||
}
|
||||
|
||||
/** Saves the keys. */
|
||||
|
||||
@@ -2,24 +2,38 @@ package com.redstoner.modules.adminnotes;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
import de.pepich.chestapi.CallbackHandler;
|
||||
import de.pepich.chestapi.ClickableInventory;
|
||||
import de.pepich.chestapi.DefaultSize;
|
||||
import net.nemez.chatapi.click.ClickCallback;
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 0, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class AdminNotes implements Module, Listener
|
||||
{
|
||||
JSONArray notes;
|
||||
@@ -38,12 +52,13 @@ public class AdminNotes implements Module, Listener
|
||||
public void onJoin(PlayerJoinEvent e)
|
||||
{
|
||||
if (e.getPlayer().hasPermission("utils.adminnotes"))
|
||||
{
|
||||
if (notes.size() > 0)
|
||||
{
|
||||
Utils.sendMessage(e.getPlayer(), null, "§cThere are " + notes.size() + " open notes!");
|
||||
Message m = new Message(e.getPlayer(), null);
|
||||
m.appendSendChat(getLogger().getPrefix(), "/an list");
|
||||
m.appendSendChat("&cThere are " + notes.size() + " open notes!", "/an list");
|
||||
m.send();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,7 +76,7 @@ public class AdminNotes implements Module, Listener
|
||||
temp.add(note);
|
||||
temp.add((double) System.currentTimeMillis() / 1000);
|
||||
notes.add(temp);
|
||||
Utils.sendMessage(sender, null, "§aNote added!");
|
||||
getLogger().message(sender, "&aNote added!");
|
||||
saveNotes();
|
||||
}
|
||||
|
||||
@@ -71,19 +86,20 @@ public class AdminNotes implements Module, Listener
|
||||
if (id < notes.size() && id >= 0 && notes.get(id) != null)
|
||||
{
|
||||
notes.remove(id);
|
||||
Utils.sendMessage(sender, null, "§aNote " + id + " has been removed!");
|
||||
getLogger().message(sender, "&aNote " + id + " has been removed!");
|
||||
saveNotes();
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "§cThat note does not exist!");
|
||||
getLogger().message(sender, "&cThat note does not exist!");
|
||||
}
|
||||
}
|
||||
|
||||
@Command(hook = "an_list")
|
||||
public void list(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText(getLogger().getHeader());
|
||||
for (Object note : notes)
|
||||
{
|
||||
String string = ChatColor.YELLOW + "" + notes.indexOf(note) + ": ";
|
||||
@@ -91,8 +107,79 @@ public class AdminNotes implements Module, Listener
|
||||
string += "\n§e - " + ((JSONArray) note).get(0) + ", §6";
|
||||
SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy HH:mm");
|
||||
string += format.format((double) ((JSONArray) note).get(2) * 1000);
|
||||
Utils.sendMessage(sender, "", string);
|
||||
m.appendCallbackHover(string, new ClickCallback(true, true, null)
|
||||
{
|
||||
@Override
|
||||
public void run(CommandSender sender)
|
||||
{
|
||||
if (notes.contains(note))
|
||||
showMenu((Player) sender, notes.indexOf(note));
|
||||
else
|
||||
getLogger().message(sender, true, "That note no longer exists!");
|
||||
}
|
||||
}, "Click to show note options.");
|
||||
m.appendText("\n");
|
||||
}
|
||||
m.send();
|
||||
}
|
||||
|
||||
public void showMenu(Player player, int index)
|
||||
{
|
||||
String note_text = ((String) ((JSONArray) notes.get(index)).get(1));
|
||||
if (note_text.length() > 15)
|
||||
note_text = note_text.substring(0, 15) + "...";
|
||||
ClickableInventory inv = new ClickableInventory("Note " + index + ": " + note_text, DefaultSize.FINAL_FIXED(9));
|
||||
|
||||
ItemStack addItem = new ItemStack(Material.BOOK_AND_QUILL);
|
||||
ItemMeta addMeta = addItem.getItemMeta();
|
||||
addMeta.setDisplayName("§aAdd note!");
|
||||
addItem.setItemMeta(addMeta);
|
||||
inv.set(1, addItem, new CallbackHandler()
|
||||
{
|
||||
@Override
|
||||
public void run(Player player, ClickType type)
|
||||
{
|
||||
Message m = new Message(player, null);
|
||||
m.appendSuggest(getLogger().getPrefix(), "/an add ");
|
||||
m.appendSuggest("Click me to add a note!", "/an add ");
|
||||
m.send();
|
||||
player.closeInventory();
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack deleteItem = new ItemStack(Material.WOOL, 1, (short) 14);
|
||||
ItemMeta deleteMeta = deleteItem.getItemMeta();
|
||||
deleteMeta.setDisplayName("§cDelete note!");
|
||||
deleteMeta.setLore(Arrays.asList(new String[] {"Shift click to execute!"}));
|
||||
deleteItem.setItemMeta(deleteMeta);
|
||||
inv.set(3, deleteItem, new CallbackHandler()
|
||||
{
|
||||
@Override
|
||||
public void run(Player player, ClickType type)
|
||||
{
|
||||
if (type == ClickType.SHIFT_LEFT)
|
||||
{
|
||||
delNote(player, index);
|
||||
player.closeInventory();
|
||||
}
|
||||
else
|
||||
getLogger().message(player, true, "You need to shift click to execute this!");
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack closeItem = new ItemStack(Material.BARRIER);
|
||||
ItemMeta closeMeta = closeItem.getItemMeta();
|
||||
closeMeta.setDisplayName("§eClose menu");
|
||||
closeItem.setItemMeta(closeMeta);
|
||||
inv.set(9, closeItem, new CallbackHandler()
|
||||
{
|
||||
@Override
|
||||
public void run(Player player, ClickType type)
|
||||
{
|
||||
player.closeInventory();
|
||||
}
|
||||
});
|
||||
inv.show(player);
|
||||
}
|
||||
|
||||
public void saveNotes()
|
||||
@@ -105,10 +192,8 @@ public class AdminNotes implements Module, Listener
|
||||
public String getCommandString()
|
||||
{
|
||||
return "command an {\n" +
|
||||
" perm utils.adminnotes;\n" +
|
||||
" \n" +
|
||||
" add [string:note...] {\n" +
|
||||
" type player;\n" +
|
||||
" help Creates a new admin note;\n" +
|
||||
" run an_create note;\n" +
|
||||
" perm utils.an;" +
|
||||
|
||||
@@ -14,9 +14,10 @@ import org.bukkit.event.Listener;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
import com.redstoner.modules.blockplacemods.mods.Mod;
|
||||
import com.redstoner.modules.blockplacemods.mods.ModAbstract;
|
||||
@@ -24,17 +25,15 @@ import com.redstoner.modules.blockplacemods.mods.ModToggledAbstract;
|
||||
import com.redstoner.utils.CommandException;
|
||||
import com.redstoner.utils.CommandMap;
|
||||
|
||||
@Commands(CommandHolderType.None)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 3, minor = 2, revision = 9, compatible = 3)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public final class BlockPlaceMods implements Module, Listener
|
||||
{
|
||||
public static String PREFIX = ChatColor.GRAY + "[" + ChatColor.DARK_GREEN + "BPM" + ChatColor.GRAY + "]"
|
||||
+ ChatColor.GREEN;
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
ModAbstract.registerAll();
|
||||
ModAbstract.registerAll(getLogger());
|
||||
for (Mod mod : new ArrayList<>(ModAbstract.getMods().values()))
|
||||
{
|
||||
mod.registerListeners();
|
||||
@@ -50,11 +49,18 @@ public final class BlockPlaceMods implements Module, Listener
|
||||
}
|
||||
catch (ReflectiveOperationException ex)
|
||||
{
|
||||
ex.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postEnable()
|
||||
{
|
||||
setPrefix("BPM");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable()
|
||||
{
|
||||
@@ -100,7 +106,7 @@ public final class BlockPlaceMods implements Module, Listener
|
||||
{
|
||||
String[] args = new ArrayList<>(Arrays.asList(input.split(" "))).stream()
|
||||
.filter(x -> x != null && !x.trim().isEmpty()).toArray(String[]::new);
|
||||
String prefix = PREFIX;
|
||||
String prefix = "";
|
||||
String message;
|
||||
try
|
||||
{
|
||||
@@ -109,7 +115,7 @@ public final class BlockPlaceMods implements Module, Listener
|
||||
Mod target = ModAbstract.getMod(args[0].toLowerCase());
|
||||
if (target != null)
|
||||
{
|
||||
prefix += "&7[&2" + capitalize(target.getName()) + "&7]&a";
|
||||
prefix += "&7[&2" + capitalize(target.getName()) + "&7]:&a ";
|
||||
if (!(sender instanceof Player))
|
||||
{
|
||||
message = "&cYou must be a player to use any block place mod";
|
||||
@@ -142,7 +148,7 @@ public final class BlockPlaceMods implements Module, Listener
|
||||
message = " &cAn unexpected error occurred while executing this command.";
|
||||
t.printStackTrace();
|
||||
}
|
||||
Utils.sendMessage(sender, prefix, message, '&');
|
||||
getLogger().message(sender, prefix + message);
|
||||
}
|
||||
|
||||
private String commandHelp(CommandSender sender, String[] args)
|
||||
|
||||
@@ -1,21 +1,28 @@
|
||||
package com.redstoner.modules.blockplacemods.mods;
|
||||
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.datamanager.DataManager;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
|
||||
import java.util.*;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.modules.ModuleLogger;
|
||||
import com.redstoner.modules.datamanager.DataManager;
|
||||
|
||||
public abstract class ModAbstract implements Mod, Listener
|
||||
{
|
||||
private static final Map<String, Mod> mods = new HashMap<>();
|
||||
private final String name;
|
||||
private final Set<String> aliases;
|
||||
private static ModuleLogger logger;
|
||||
|
||||
public static Map<String, Mod> getMods()
|
||||
{
|
||||
@@ -27,15 +34,18 @@ public abstract class ModAbstract implements Mod, Listener
|
||||
return mods.get(name);
|
||||
}
|
||||
|
||||
public static void registerMod(Mod mod) {
|
||||
public static void registerMod(Mod mod)
|
||||
{
|
||||
mods.put(mod.getName(), mod);
|
||||
for (String alias : mod.getAliases()) {
|
||||
for (String alias : mod.getAliases())
|
||||
{
|
||||
mods.putIfAbsent(alias, mod);
|
||||
}
|
||||
}
|
||||
|
||||
public static void registerAll()
|
||||
public static void registerAll(final ModuleLogger logger)
|
||||
{
|
||||
ModAbstract.logger = logger;
|
||||
registerMod(new ModToggledCauldron());
|
||||
registerMod(new ModToggledPiston());
|
||||
registerMod(new ModToggledStep());
|
||||
@@ -49,11 +59,12 @@ public abstract class ModAbstract implements Mod, Listener
|
||||
{
|
||||
this.name = Objects.requireNonNull(name);
|
||||
this.aliases = new HashSet<>(2);
|
||||
Utils.info("Loaded mod " + name);
|
||||
logger.info("Loaded mod " + name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.redstoner.modules.blockplacemods.mods;
|
||||
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -26,7 +27,9 @@ public class ModToggledCauldron extends ModToggledAbstract
|
||||
public void onPlayerInteract(PlayerInteractEvent event)
|
||||
{
|
||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && !event.getPlayer().isSneaking()
|
||||
&& event.getClickedBlock().getType() == Material.CAULDRON && hasEnabled(event.getPlayer()))
|
||||
&& event.getClickedBlock().getType() == Material.CAULDRON && hasEnabled(event.getPlayer())
|
||||
&& (event.getPlayer().getGameMode() == GameMode.CREATIVE)
|
||||
&& (event.getPlayer().getInventory().getItemInMainHand().getType() == Material.AIR))
|
||||
{
|
||||
Block block = event.getClickedBlock();
|
||||
block.setData((byte) ((block.getData() - 1) & 0x3));
|
||||
@@ -38,7 +41,7 @@ public class ModToggledCauldron extends ModToggledAbstract
|
||||
public void onBlockPlace(BlockPlaceEvent event)
|
||||
{
|
||||
if (event.getBlock().getType() == Material.CAULDRON && !event.getPlayer().isSneaking()
|
||||
&& hasEnabled(event.getPlayer()))
|
||||
&& hasEnabled(event.getPlayer()) && (event.getPlayer().getGameMode() == GameMode.CREATIVE))
|
||||
{
|
||||
event.getBlock().setData((byte) 3);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.redstoner.modules.buildchat;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -13,8 +14,10 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
@@ -23,8 +26,9 @@ import com.redstoner.modules.Module;
|
||||
/** BuildTeamChat module. Allows the build team to chat privately using /bc \<message\> as well as a one char prefix or a toggle.
|
||||
*
|
||||
* @author Pepich */
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class BuildChat implements Module, Listener
|
||||
{
|
||||
private static final char defaultKey = ';';
|
||||
@@ -109,7 +113,7 @@ public class BuildChat implements Module, Listener
|
||||
{
|
||||
return recipient.hasPermission("utils.bc");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -123,7 +127,7 @@ public class BuildChat implements Module, Listener
|
||||
{
|
||||
return recipient.hasPermission("utils.bc");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -138,12 +142,12 @@ public class BuildChat implements Module, Listener
|
||||
if (bctoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
bctoggled.remove(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "BCT now §cdisabled");
|
||||
getLogger().message(sender, "BCT now §cdisabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
bctoggled.add(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "BCT now §aenabled");
|
||||
getLogger().message(sender, "BCT now §aenabled");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -158,10 +162,10 @@ public class BuildChat implements Module, Listener
|
||||
if (!bctoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
bctoggled.add(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "BCT now §aenabled");
|
||||
getLogger().message(sender, "BCT now §aenabled");
|
||||
}
|
||||
else
|
||||
Utils.sendMessage(sender, null, "BCT was already enabled");
|
||||
getLogger().message(sender, "BCT was already enabled");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -173,9 +177,9 @@ public class BuildChat implements Module, Listener
|
||||
public boolean bcToggleOffCommand(CommandSender sender)
|
||||
{
|
||||
if (bctoggled.remove(((Player) sender).getUniqueId().toString()))
|
||||
Utils.sendMessage(sender, null, "BCT now §cdisabled");
|
||||
getLogger().message(sender, "BCT now §cdisabled");
|
||||
else
|
||||
Utils.sendMessage(sender, null, "BCT was already disabled");
|
||||
getLogger().message(sender, "BCT was already disabled");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -191,7 +195,7 @@ public class BuildChat implements Module, Listener
|
||||
if (event.getMessage().startsWith(getKey(player)))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
bcSay(event.getPlayer(), event.getMessage().replaceFirst(getKey(player), ""));
|
||||
bcSay(event.getPlayer(), event.getMessage().replaceFirst(Pattern.quote(getKey(player)), ""));
|
||||
}
|
||||
else if (bctoggled.contains(event.getPlayer().getUniqueId()))
|
||||
{
|
||||
@@ -211,7 +215,7 @@ public class BuildChat implements Module, Listener
|
||||
{
|
||||
if (key.length() > 1)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"Could not set your key to §6" + key + " §7, it can be at most one char.");
|
||||
return true;
|
||||
}
|
||||
@@ -220,7 +224,7 @@ public class BuildChat implements Module, Listener
|
||||
getBcKey(sender);
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Set your key to §6" + key);
|
||||
getLogger().message(sender, "Set your key to §6" + key);
|
||||
keys.put(((Player) sender).getUniqueId().toString(), key + "");
|
||||
saveKeys();
|
||||
return true;
|
||||
@@ -241,7 +245,7 @@ public class BuildChat implements Module, Listener
|
||||
* @param sender the issuer of the command. */
|
||||
public void getBcKey(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Your current bckey is §6" + getKey((Player) sender));
|
||||
getLogger().message(sender, "Your current bckey is §6" + getKey((Player) sender));
|
||||
}
|
||||
|
||||
/** Saves the keys. */
|
||||
|
||||
@@ -5,21 +5,15 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||
@Commands(CommandHolderType.File)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class BuildTeam implements Module
|
||||
{
|
||||
@Override
|
||||
public void postEnable()
|
||||
{
|
||||
CommandManager.registerCommand(getClass().getResourceAsStream("BuildTeam.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@Command(hook = "teleport")
|
||||
public boolean teleport(CommandSender sender, String target_name)
|
||||
{
|
||||
@@ -32,7 +26,7 @@ public class BuildTeam implements Module
|
||||
return true;
|
||||
}
|
||||
player.teleport(target);
|
||||
Utils.sendMessage(sender, null, "Teleported you to &e" + target.getDisplayName() + "&7!", '&');
|
||||
getLogger().message(sender, "Teleported you to &e" + target.getDisplayName() + "&7!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,7 +35,7 @@ public class BuildTeam implements Module
|
||||
{
|
||||
if (!target_name.matches("^\\w{2,16}$"))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "This doesn't look like a valid playername!");
|
||||
getLogger().message(sender, true, "This doesn't look like a valid playername!");
|
||||
return true;
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user " + target_name + " group add +buildteam");
|
||||
@@ -53,7 +47,7 @@ public class BuildTeam implements Module
|
||||
{
|
||||
if (!target_name.matches("^\\w{2,16}$"))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "This doesn't look like a valid playername!");
|
||||
getLogger().message(sender, true, "This doesn't look like a valid playername!");
|
||||
return true;
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user " + target_name + " group remove +buildteam");
|
||||
|
||||
@@ -1,284 +0,0 @@
|
||||
package com.redstoner.modules.challenge;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
public class Challenge implements Module
|
||||
{
|
||||
private File challengeLocation = new File(Main.plugin.getDataFolder(), "challenges.json");
|
||||
private JSONArray challenges;
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
challenges = JsonManager.getArray(challengeLocation);
|
||||
if (challenges == null)
|
||||
challenges = new JSONArray();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable()
|
||||
{
|
||||
saveChallenges();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Command(hook = "addchallenge")
|
||||
public boolean addChallenge(CommandSender sender, String text)
|
||||
{
|
||||
if (challenges.contains(text))
|
||||
Utils.sendErrorMessage(sender, null, "That challenge already exists!");
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Successfully added a new challenge!");
|
||||
challenges.add(text);
|
||||
saveChallenges();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "delchallenge")
|
||||
public boolean delChallenge(CommandSender sender, int id)
|
||||
{
|
||||
if (challenges.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no challenges yet!");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= challenges.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (challenges.size() - 1));
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Successfully deleted the challenge: " + challenges.remove(id), '&');
|
||||
saveChallenges();
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Command(hook = "setchallenge")
|
||||
public boolean setChallenge(CommandSender sender, int id, String text)
|
||||
{
|
||||
if (challenges.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no challenges yet!");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= challenges.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (challenges.size() - 1));
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null,
|
||||
"Successfully changed the challenge: &a" + challenges.get(id) + " &7to: &e" + text, '&');
|
||||
challenges.set(id, text);
|
||||
saveChallenges();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "challengeid")
|
||||
public boolean challengeId(CommandSender sender, int id)
|
||||
{
|
||||
if (challenges.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no challenges yet!");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= challenges.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (challenges.size() - 1));
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "&a" + challenges.get(id), '&');
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "challenge")
|
||||
public boolean challenge(CommandSender sender)
|
||||
{
|
||||
if (challenges.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no challenges yet!");
|
||||
return true;
|
||||
}
|
||||
int id = (new Random()).nextInt(challenges.size());
|
||||
Utils.sendMessage(sender, null, "&a" + challenges.get(id), '&');
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "listchallenges")
|
||||
public boolean listChallenges(CommandSender sender, int page)
|
||||
{
|
||||
if (challenges.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no challenges yet!");
|
||||
return true;
|
||||
}
|
||||
page = page - 1;
|
||||
int start = page * 10;
|
||||
int end = start + 10;
|
||||
int pages = (int) Math.ceil(challenges.size() / 10d);
|
||||
if (start < 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "Page number too small, must be at least 0!");
|
||||
return true;
|
||||
}
|
||||
if (start > challenges.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "Page number too big, must be at most " + pages + "!");
|
||||
return true;
|
||||
}
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", "&ePage " + (page + 1) + "/" + pages + ":", '&');
|
||||
for (int i = start; i < end && i < challenges.size(); i++)
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + challenges.get(i), '&');
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "listchallengesdef")
|
||||
public boolean listChallengesDefault(CommandSender sender)
|
||||
{
|
||||
return listChallenges(sender, 1);
|
||||
}
|
||||
|
||||
@Command(hook = "searchchallenge")
|
||||
public boolean search(CommandSender sender, boolean insensitive, String text)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
boolean found = false;
|
||||
if (insensitive)
|
||||
{
|
||||
text = text.toLowerCase();
|
||||
for (int i = 0; i < challenges.size(); i++)
|
||||
{
|
||||
if (((String) challenges.get(i)).toLowerCase().contains(text))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + challenges.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < challenges.size(); i++)
|
||||
{
|
||||
if (((String) challenges.get(i)).contains(text))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + challenges.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&cCouldn't find any matching challenges.", '&');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "matchchallenge")
|
||||
public boolean match(CommandSender sender, boolean insensitive, String regex)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
boolean found = false;
|
||||
if (insensitive)
|
||||
{
|
||||
regex = regex.toLowerCase();
|
||||
for (int i = 0; i < challenges.size(); i++)
|
||||
{
|
||||
if (((String) challenges.get(i)).toLowerCase().matches(regex))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + ": " + challenges.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < challenges.size(); i++)
|
||||
{
|
||||
if (((String) challenges.get(i)).matches(regex))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + ": " + challenges.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&cCouldn't find any matching challenges.", '&');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void saveChallenges()
|
||||
{
|
||||
JsonManager.save(challenges, challengeLocation);
|
||||
}
|
||||
|
||||
// @noformat
|
||||
@Override
|
||||
public String getCommandString()
|
||||
{
|
||||
return "command challenge {\n" +
|
||||
" add [string:text...] {\n" +
|
||||
" help Adds a challenge.;\n" +
|
||||
" run addchallenge text;\n" +
|
||||
" perm utils.challenge.add;\n" +
|
||||
" }\n" +
|
||||
" del [int:id] {\n" +
|
||||
" help Removes a challenge.;\n" +
|
||||
" run delchallenge id;\n" +
|
||||
" perm utils.challenge.admin;\n" +
|
||||
" }\n" +
|
||||
" set [int:id] [string:text...] {\n" +
|
||||
" help Sets a challenge.;\n" +
|
||||
" run setchallenge id text;\n" +
|
||||
" perm utils.challenge.admin;\n" +
|
||||
" }\n" +
|
||||
" id [int:id] {\n" +
|
||||
" help Get a paticular challenge.;\n" +
|
||||
" run challengeid id;\n" +
|
||||
" perm utils.challenge.id;\n" +
|
||||
" }\n" +
|
||||
" list [int:page] {\n" +
|
||||
" help Shows challenges.;\n" +
|
||||
" run listchallenges page;\n" +
|
||||
" perm utils.challenge.list;\n" +
|
||||
" }\n" +
|
||||
" list {\n" +
|
||||
" help Shows challenges.;\n" +
|
||||
" run listchallengesdef;\n" +
|
||||
" perm utils.challenge.list;\n" +
|
||||
" }\n" +
|
||||
" search [flag:-i] [string:text...] {\n" +
|
||||
" help Search challenges.;\n" +
|
||||
" run searchchallenge -i text;\n" +
|
||||
" perm utils.challenge.search;\n" +
|
||||
" }\n" +
|
||||
" match [flag:-i] [string:regex...] {\n" +
|
||||
" help Search challenges. But better.;\n" +
|
||||
" run matchchallenge -i regex;\n" +
|
||||
" perm utils.challenge.match;\n" +
|
||||
" }\n" +
|
||||
" [empty] {\n" +
|
||||
" help Gives a challenge.;\n" +
|
||||
" run challenge;\n" +
|
||||
" perm utils.challenge;\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
}
|
||||
// @format
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.redstoner.modules.chatalias;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -20,21 +21,22 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
import net.nemez.chatapi.ChatAPI;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 6, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Chatalias implements Module, Listener
|
||||
{
|
||||
// to export chatalias data to json:
|
||||
// pyeval [save_json_file("aliases/" + uuid, shared['modules']['chatalias'].data[uuid]) for uuid in shared['modules']['chatalias'].data]
|
||||
// HANDLE WITH CARE! This will create an array of null entries the size of len(data)!
|
||||
private final String[] commands = new String[] {"e?r", "e?m .+? ", "e?t", "e?w", "e?msg .+? ", "e?message .+? ",
|
||||
"e?whisper .+? ", "e?me", "cg say", "ac"};
|
||||
private final String[] commands = new String[] {"e?r", "e?m .+?", "e?t", "e?w", "e?msg .+?", "e?message .+?",
|
||||
"e?whisper .+?", "e?me", "cgsay", "ac", "bc"};
|
||||
private JSONObject aliases = new JSONObject();
|
||||
|
||||
@Override
|
||||
@@ -114,12 +116,12 @@ public class Chatalias implements Module, Listener
|
||||
}
|
||||
if (event.getMessage().length() > maxLength)
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "The generated message is too long!");
|
||||
getLogger().message(player, true, "The generated message is too long!");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
event.setMessage(Utils.colorify(event.getMessage(), player));
|
||||
event.setMessage(ChatAPI.colorify(null, event.getMessage()));
|
||||
if (changed)
|
||||
saveAliases(uuid);
|
||||
}
|
||||
@@ -130,11 +132,11 @@ public class Chatalias implements Module, Listener
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
boolean listening = false;
|
||||
String regex = "";
|
||||
String command = "";
|
||||
for (String s : commands)
|
||||
{
|
||||
regex = "^\\/(.*:)?" + s + ".*";
|
||||
if (event.getMessage().matches(regex))
|
||||
command = "^\\/(.*:)?" + s + " ";
|
||||
if (event.getMessage().matches(command + ".*"))
|
||||
{
|
||||
listening = true;
|
||||
break;
|
||||
@@ -145,9 +147,9 @@ public class Chatalias implements Module, Listener
|
||||
Player player = event.getPlayer();
|
||||
UUID uuid = player.getUniqueId();
|
||||
JSONObject playerAliases = (JSONObject) aliases.get(uuid.toString());
|
||||
String command = event.getMessage().replaceFirst(regex.replaceAll("\\.\\*$", ""), "");
|
||||
command = event.getMessage().replace(command, "");
|
||||
event.setMessage(event.getMessage().replaceFirst(Pattern.quote(command), "§§"));
|
||||
String temp = event.getMessage().replaceAll(command, "");
|
||||
command = event.getMessage().replaceAll(Pattern.quote(temp) + "$", "");
|
||||
event.setMessage(event.getMessage().replaceFirst(Pattern.quote(command), ""));
|
||||
for (Object key : playerAliases.keySet())
|
||||
{
|
||||
String keyword = (String) key;
|
||||
@@ -174,12 +176,12 @@ public class Chatalias implements Module, Listener
|
||||
}
|
||||
if (event.getMessage().length() > maxLength)
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "The generated message is too long!");
|
||||
getLogger().message(player, true, "The generated message is too long!");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
event.setMessage(command + event.getMessage().substring(2));
|
||||
event.setMessage(command + event.getMessage());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -188,7 +190,7 @@ public class Chatalias implements Module, Listener
|
||||
{
|
||||
if (regex && keyword.equals(".*"))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You may not define the wildcard regex as an alias.");
|
||||
getLogger().message(sender, true, "You may not define the wildcard regex as an alias.");
|
||||
return true;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
@@ -208,16 +210,16 @@ public class Chatalias implements Module, Listener
|
||||
}
|
||||
if (data.size() == maxAmount)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You already reached your maximum of aliases!");
|
||||
getLogger().message(sender, true, "You already reached your maximum of aliases!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
data.put(keyword, replacement);
|
||||
if (sender.hasPermission("essentials.chat.color"))
|
||||
Utils.sendMessage(sender, null,
|
||||
"Successfully created alias " + keyword.substring(3) + " §7-> " + replacement + " §7for you.", '&');
|
||||
getLogger().message(sender,
|
||||
"Successfully created alias " + keyword.substring(3) + " §7-> " + replacement + " §7for you.");
|
||||
else
|
||||
Utils.sendMessage(sender, null,
|
||||
getLogger().message(sender,
|
||||
"Successfully created alias " + keyword.substring(3) + " §7-> " + replacement + " §7for you.");
|
||||
saveAliases(uuid);
|
||||
return true;
|
||||
@@ -232,14 +234,13 @@ public class Chatalias implements Module, Listener
|
||||
keyword = (regex ? "R: " : "N: ") + keyword;
|
||||
if (data.remove(keyword) != null)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Successfully removed the alias!");
|
||||
getLogger().message(sender, "Successfully removed the alias!");
|
||||
saveAliases(uuid);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
"That alias doesn't exist! Hint: regex/no regex does matter for this.");
|
||||
getLogger().message(sender, true, "That alias doesn't exist! Hint: regex/no regex does matter for this.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -247,17 +248,13 @@ public class Chatalias implements Module, Listener
|
||||
@Command(hook = "listaliases")
|
||||
public boolean listAliases(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
Player player = (Player) sender;
|
||||
UUID uuid = player.getUniqueId();
|
||||
JSONObject data = (JSONObject) aliases.get(uuid.toString());
|
||||
for (Object key : data.keySet())
|
||||
{
|
||||
if (sender.hasPermission("essentials.chat.color"))
|
||||
Utils.sendMessage(sender, "", (String) key + " §7-> " + data.get(key), '&');
|
||||
else
|
||||
Utils.sendMessage(sender, "", (String) key + " §7-> " + data.get(key));
|
||||
}
|
||||
message.add((String) key + " §7-> " + data.get(key));
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -303,7 +300,7 @@ public class Chatalias implements Module, Listener
|
||||
aliases.put(uuid.toString(), playerAliases.get("data"));
|
||||
else
|
||||
{
|
||||
Utils.error("Unknown data format for alias set of player " + uuid.toString());
|
||||
getLogger().error("Unknown data format for alias set of player " + uuid.toString());
|
||||
aliases.put(uuid.toString(), ((JSONObject) defaults.get("data")).clone());
|
||||
saveAliases(uuid);
|
||||
}
|
||||
|
||||
@@ -16,9 +16,11 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
@@ -28,8 +30,9 @@ import com.redstoner.modules.socialspy.Socialspy;
|
||||
/** The ChatGroups module. Allows people to have private sub-chats that can be accessed via a single char prefix or a toggle.
|
||||
*
|
||||
* @author Pepich */
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 1, revision = 2, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Chatgroups implements Module, Listener
|
||||
{
|
||||
private static final char defaultKey = ':';
|
||||
@@ -116,11 +119,11 @@ public class Chatgroups implements Module, Listener
|
||||
{
|
||||
String group = getGroup(sender);
|
||||
if (group == null)
|
||||
Utils.sendErrorMessage(sender, null, "You are not in a chatgroup!");
|
||||
getLogger().message(sender, true, "You are not in a chatgroup!");
|
||||
else
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", "Your current chatgroup is: §6" + group);
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
message.add("§7Your current chatgroup is: §6" + group);
|
||||
ArrayList<String> players = new ArrayList<String>();
|
||||
Iterator<String> iter = groups.keySet().iterator();
|
||||
while (iter.hasNext())
|
||||
@@ -148,7 +151,8 @@ public class Chatgroups implements Module, Listener
|
||||
sb.append("&7, &9");
|
||||
}
|
||||
sb.delete(sb.length() - 2, sb.length());
|
||||
Utils.sendMessage(sender, "", sb.toString(), '&');
|
||||
message.add(sb.toString());
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -158,7 +162,7 @@ public class Chatgroups implements Module, Listener
|
||||
* @param sender the issuer of the command. */
|
||||
public void getCgKey(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Your current cgkey is §6" + getKey((Player) sender));
|
||||
getLogger().message(sender, "Your current cgkey is §6" + getKey((Player) sender));
|
||||
}
|
||||
|
||||
/** Sets the cgkey of a Player.
|
||||
@@ -172,7 +176,7 @@ public class Chatgroups implements Module, Listener
|
||||
{
|
||||
if (key.length() > 1)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"Could not set your key to §6" + key + " §7, it can be at most one char.");
|
||||
return true;
|
||||
}
|
||||
@@ -181,7 +185,7 @@ public class Chatgroups implements Module, Listener
|
||||
getCgKey(sender);
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Set your key to §6" + key);
|
||||
getLogger().message(sender, "Set your key to §6" + key);
|
||||
keys.put(((Player) sender).getUniqueId().toString(), key + "");
|
||||
saveKeys();
|
||||
return true;
|
||||
@@ -198,15 +202,15 @@ public class Chatgroups implements Module, Listener
|
||||
if (cgtoggled.contains(((Player) sender).getUniqueId()))
|
||||
{
|
||||
cgtoggled.remove(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "CGT now §cdisabled");
|
||||
getLogger().message(sender, "CGT now §cdisabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
cgtoggled.add(((Player) sender).getUniqueId());
|
||||
Utils.sendMessage(sender, null, "CGT now §aenabled");
|
||||
getLogger().message(sender, "CGT now §aenabled");
|
||||
}
|
||||
else
|
||||
Utils.sendErrorMessage(sender, null, "You are not in a chatgroup!");
|
||||
getLogger().message(sender, true, "You are not in a chatgroup!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -220,12 +224,12 @@ public class Chatgroups implements Module, Listener
|
||||
String group = removeGroup(sender);
|
||||
if (group == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You were not in a chatgroup!");
|
||||
getLogger().message(sender, true, "You were not in a chatgroup!");
|
||||
return true;
|
||||
}
|
||||
String name = Utils.getName(sender);
|
||||
sendToGroup(group, "&9" + name + " &7left the group!");
|
||||
Utils.sendMessage(sender, null, "Successfully removed you from your group!");
|
||||
getLogger().message(sender, "Successfully removed you from your group!");
|
||||
if (sender instanceof Player)
|
||||
cgtoggled.remove(((Player) sender).getUniqueId());
|
||||
return true;
|
||||
@@ -242,7 +246,7 @@ public class Chatgroups implements Module, Listener
|
||||
String pname = Utils.getName(sender);
|
||||
String group = getGroup(sender);
|
||||
if (group != null && group.equals(name))
|
||||
Utils.sendErrorMessage(sender, null, "You were already in group §6" + name);
|
||||
getLogger().message(sender, true, "You were already in group §6" + name);
|
||||
else
|
||||
{
|
||||
setGroup(sender, null);
|
||||
@@ -250,7 +254,7 @@ public class Chatgroups implements Module, Listener
|
||||
sendToGroup(group, "&9" + pname + " &7left the group!");
|
||||
sendToGroup(name, "&9" + pname + " &7joined the group!");
|
||||
setGroup(sender, name);
|
||||
Utils.sendMessage(sender, null, "Successfully joined group §6" + name);
|
||||
getLogger().message(sender, "Successfully joined group §6" + name);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -267,7 +271,7 @@ public class Chatgroups implements Module, Listener
|
||||
if (group != null)
|
||||
sendToGroup(sender, message);
|
||||
else
|
||||
Utils.sendErrorMessage(sender, null, "You are not in a chatgroup right now!");
|
||||
getLogger().message(sender, true, "You are not in a chatgroup right now!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -350,7 +354,6 @@ public class Chatgroups implements Module, Listener
|
||||
* @param message the message to be sent. */
|
||||
private void sendToGroup(CommandSender sender, String message)
|
||||
{
|
||||
message = Utils.colorify(message, sender);
|
||||
String name = Utils.getName(sender);
|
||||
String group = getGroup(sender);
|
||||
Utils.broadcast("§8[§bCG§8] §9", name + "§8: §6" + message, new BroadcastFilter()
|
||||
@@ -364,7 +367,7 @@ public class Chatgroups implements Module, Listener
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
if (ModuleLoader.getModule("Socialspy") != null)
|
||||
{
|
||||
Socialspy.spyBroadcast(sender, "§e" + group + " §a(cg)", message, "/cg", new BroadcastFilter()
|
||||
@@ -378,7 +381,7 @@ public class Chatgroups implements Module, Listener
|
||||
}
|
||||
if (getGroup(Bukkit.getConsoleSender()) == null || !getGroup(Bukkit.getConsoleSender()).equals(group))
|
||||
{
|
||||
Utils.info(name + " in " + group + ": " + message + " §8(hidden)");
|
||||
getLogger().info(name + " in " + group + ": " + message + " §8(hidden)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,7 +418,7 @@ public class Chatgroups implements Module, Listener
|
||||
}
|
||||
if (getGroup(Bukkit.getConsoleSender()) == null || !getGroup(Bukkit.getConsoleSender()).equals(group))
|
||||
{
|
||||
Utils.info("In " + group + ": " + message + " §8(hidden)");
|
||||
getLogger().info("In " + group + ": " + message + " §8(hidden)");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
package com.redstoner.modules.chatonly;
|
||||
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||
public class ChatOnly implements Module
|
||||
{}
|
||||
@@ -25,7 +25,6 @@ import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.mysql.JSONManager;
|
||||
import com.redstoner.misc.mysql.MysqlHandler;
|
||||
import com.redstoner.misc.mysql.elements.ConstraintOperator;
|
||||
@@ -34,7 +33,7 @@ import com.redstoner.misc.mysql.elements.MysqlDatabase;
|
||||
import com.redstoner.misc.mysql.elements.MysqlTable;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 3, minor = 0, revision = 3, compatible = 3)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Check implements Module, Listener
|
||||
{
|
||||
MysqlTable table;
|
||||
@@ -45,7 +44,7 @@ public class Check implements Module, Listener
|
||||
Map<Serializable, Serializable> config = JSONManager.getConfiguration("check.json");
|
||||
if (config == null || !config.containsKey("database") || !config.containsKey("table"))
|
||||
{
|
||||
Utils.error("Could not load the Check config file, disabling!");
|
||||
getLogger().error("Could not load the Check config file, disabling!");
|
||||
return false;
|
||||
}
|
||||
try
|
||||
@@ -56,7 +55,7 @@ public class Check implements Module, Listener
|
||||
}
|
||||
catch (NullPointerException e)
|
||||
{
|
||||
Utils.error("Could not use the Check config, disabling!");
|
||||
getLogger().error("Could not use the Check config, disabling!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -72,14 +71,13 @@ public class Check implements Module, Listener
|
||||
@Command(hook = "checkCommand", async = AsyncType.ALWAYS)
|
||||
public void checkCommand(final CommandSender sender, final String player)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", "&7Please note that the data may not be fully accurate!", '&');
|
||||
getLogger().message(sender, "&7Please note that the data may not be fully accurate!");
|
||||
OfflinePlayer oPlayer;
|
||||
oPlayer = Bukkit.getPlayer(player);
|
||||
if (oPlayer == null)
|
||||
oPlayer = Bukkit.getServer().getOfflinePlayer(player);
|
||||
sendData(sender, oPlayer);
|
||||
if (ModuleLoader.getModule("Tag") != null)
|
||||
if (ModuleLoader.exists("Tag"))
|
||||
Bukkit.dispatchCommand(sender, "tag check " + player);
|
||||
}
|
||||
|
||||
@@ -215,7 +213,7 @@ public class Check implements Module, Listener
|
||||
String firstJoin = getFirstJoin(player);
|
||||
String lastSeen = getLastSeen(player);
|
||||
firstJoin = (firstJoin.equals("1970-01-01 01:00")) ? "&eNever" : "&7(yyyy-MM-dd hh:mm:ss) &e" + firstJoin;
|
||||
lastSeen = (lastSeen.equals("1970-1-1 1:0")) ? "&eNever" : "&7(yyyy-MM-dd hh:mm:ss) &e" + lastSeen;
|
||||
lastSeen = (lastSeen.equals("1970-1-1 01:00")) ? "&eNever" : "&7(yyyy-MM-dd hh:mm:ss) &e" + lastSeen;
|
||||
Object[] websiteData = getWebsiteData(player);
|
||||
String websiteUrl = (websiteData[0] == null) ? "None" : (String) websiteData[0];
|
||||
String email = (websiteData[0] == null) ? "Unknown" : (String) websiteData[1];
|
||||
@@ -225,23 +223,26 @@ public class Check implements Module, Listener
|
||||
if (namesUsed == null)
|
||||
namesUsed = "None";
|
||||
// messages
|
||||
Utils.sendMessage(sender, "", "&7Data provided by Redstoner:", '&');
|
||||
Utils.sendMessage(sender, "", "&6> UUID: &e" + player.getUniqueId(), '&');
|
||||
Utils.sendMessage(sender, "", "&6> First joined: " + firstJoin, '&');
|
||||
Utils.sendMessage(sender, "", "&6> Last seen: " + lastSeen, '&');
|
||||
Utils.sendMessage(sender, "", "&6> Website account: &e" + websiteUrl, '&');
|
||||
Utils.sendMessage(sender, "", "&6> email: &e" + email, '&');
|
||||
if (emailNotConfirmed)
|
||||
Utils.sendMessage(sender, "", "&6> &4Email NOT Confirmed!", '&');
|
||||
Utils.sendMessage(sender, "", "&7Data provided by ipinfo:", '&');
|
||||
Utils.sendMessage(sender, "", "&6> Country: &e" + country, '&');
|
||||
Utils.sendMessage(sender, "", "&7Data provided by Mojang:", '&');
|
||||
Utils.sendMessage(sender, "", "&6> All ingame names used so far: &e" + namesUsed, '&');
|
||||
// @noformat
|
||||
String[] message = new String[] {
|
||||
"&7Data provided by Redstoner:",
|
||||
"&6> UUID: &e" + player.getUniqueId(),
|
||||
"&6> First joined: " + firstJoin,
|
||||
"&6> Last seen: " + lastSeen,
|
||||
"&6> Website account: &e" + websiteUrl,
|
||||
"&6> email: &e" + (emailNotConfirmed ? "&6> &4Email NOT Confirmed!" : email),
|
||||
"&7Data provided by ipinfo:",
|
||||
"&6> Country: &e" + country,
|
||||
"&7Data provided by Mojang:",
|
||||
"&6> All ingame names used so far: &e" + namesUsed
|
||||
};
|
||||
//@format
|
||||
getLogger().message(sender, message);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
Utils.sendErrorMessage(sender, null, "&cSorry, something went wrong while fetching data", '&');
|
||||
getLogger().message(sender, true, "Sorry, something went wrong while fetching data");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,7 +251,7 @@ public class Check implements Module, Listener
|
||||
public String getCommandString()
|
||||
{
|
||||
return "command check {\n" +
|
||||
" perm utils.check;\n" +
|
||||
" perm getLogger().check;\n" +
|
||||
" \n" +
|
||||
" [string:player] {\n" +
|
||||
" run checkCommand player;\n" +
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
package com.redstoner.modules.clear;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Clear implements Module
|
||||
{
|
||||
{
|
||||
@Command(hook = "clear")
|
||||
public boolean clearInventory(CommandSender sender)
|
||||
{
|
||||
@@ -19,7 +22,23 @@ public class Clear implements Module
|
||||
Inventory inv = player.getInventory();
|
||||
for (int i = 0; i < 36; i++)
|
||||
inv.clear(i);
|
||||
Utils.sendMessage(sender, null, "Cleared your inventory!");
|
||||
getLogger().message(sender, "Cleared your inventory!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "clearother")
|
||||
public boolean clearOtherInventory(CommandSender sender, String name)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(name);
|
||||
if (player == null)
|
||||
getLogger().message(sender, true, "That player couldn't be found!");
|
||||
else
|
||||
{
|
||||
Inventory inv = player.getInventory();
|
||||
for (int i = 0; i < 36; i++)
|
||||
inv.clear(i);
|
||||
getLogger().message(sender, "Cleared " + player.getDisplayName() + "&7's inventory!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -29,11 +48,16 @@ public class Clear implements Module
|
||||
{
|
||||
return "command clear{\n" +
|
||||
" [empty] {\n" +
|
||||
" help clears your inventory;\n" +
|
||||
" help Clears your inventory;\n" +
|
||||
" type player;\n" +
|
||||
" perm utils.clear;\n" +
|
||||
" run clear;\n" +
|
||||
" }\n" +
|
||||
" [string:player] {\n" +
|
||||
" help Clears someone elses inventory;\n" +
|
||||
" perm utils.admin.clear;\n" +
|
||||
" run clearother player;\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
}
|
||||
// @format
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
package com.redstoner.modules.clearonjoin;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 1, revision = 0, compatible = 2)
|
||||
public class ClearOnJoin implements Module, Listener
|
||||
{
|
||||
private File listLocation = new File(Main.plugin.getDataFolder(), "clearonjoins.json");
|
||||
private JSONArray list;
|
||||
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
@Command(hook = "clearonjoin")
|
||||
public void clearOnJoin(CommandSender sender, String player)
|
||||
{
|
||||
list.add("!" + Bukkit.getServer().getOfflinePlayer(player).getUniqueId().toString());
|
||||
saveList();
|
||||
Utils.sendMessage(sender, null, player + "'s inventory will be cleared next time they join.");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Command(hook = "clearonjoinself")
|
||||
public void clearOnJoinSelf(CommandSender sender)
|
||||
{
|
||||
String name = ((Player)sender).getUniqueId().toString();
|
||||
if (list.contains(name))
|
||||
{
|
||||
list.remove(name);
|
||||
Utils.sendMessage(sender, null, "Your inventory will no longer be cleared upon joining.");
|
||||
saveList();
|
||||
return;
|
||||
}
|
||||
list.add(name);
|
||||
saveList();
|
||||
Utils.sendMessage(sender, null, "Your inventory will now be cleared upon joining.");
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void uponJoin(PlayerJoinEvent e)
|
||||
{
|
||||
Player player = e.getPlayer();
|
||||
String playerUUID = player.getUniqueId().toString();
|
||||
String playerName = player.getName();
|
||||
if (list.contains(playerName) || list.contains(playerUUID))
|
||||
{
|
||||
e.getPlayer().getInventory().clear();
|
||||
Utils.sendMessage(player, null, "Inventory cleared.");
|
||||
}
|
||||
else if (list.contains("!" + playerName))
|
||||
{
|
||||
player.getInventory().clear();
|
||||
list.remove("!" + playerName);
|
||||
saveList();
|
||||
Utils.sendMessage(player, null, "Inventory cleared.");
|
||||
}
|
||||
}
|
||||
|
||||
public void saveList()
|
||||
{
|
||||
JsonManager.save(list, listLocation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
list = JsonManager.getArray(listLocation);
|
||||
if (list == null)
|
||||
list = new JSONArray();
|
||||
Bukkit.getServer().getPluginManager().registerEvents(this, Main.plugin);
|
||||
return true;
|
||||
}
|
||||
|
||||
// @noformat
|
||||
@Override
|
||||
public String getCommandString()
|
||||
{
|
||||
return "command clearonjoin {\n" +
|
||||
" [string:name] {\n" +
|
||||
" help Clears that player's inventory the next time they join.;\n" +
|
||||
" run clearonjoin name;\n" +
|
||||
" perm utils.clearonjoin.other;\n" +
|
||||
" }\n" +
|
||||
" [empty] {\n" +
|
||||
" help Clears your inventory every time you join.;\n" +
|
||||
" run clearonjoinself;\n" +
|
||||
" perm utils.clearonjoin.self;\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
}
|
||||
// @format
|
||||
}
|
||||
@@ -15,14 +15,16 @@ import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 0, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Cycle implements Module, Listener
|
||||
{
|
||||
private File cycleFile = new File(Main.plugin.getDataFolder(), "cycle.json");
|
||||
@@ -54,11 +56,11 @@ public class Cycle implements Module, Listener
|
||||
UUID uid = ((Player) sender).getUniqueId();
|
||||
if (no_cyclers.remove(uid.toString()))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Cycle enabled!");
|
||||
getLogger().message(sender, "Cycle enabled!");
|
||||
saveCyclers();
|
||||
}
|
||||
else
|
||||
Utils.sendMessage(sender, null, "Cycle was already enabled!");
|
||||
getLogger().message(sender, "Cycle was already enabled!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -69,12 +71,12 @@ public class Cycle implements Module, Listener
|
||||
UUID uid = ((Player) sender).getUniqueId();
|
||||
if (!no_cyclers.contains(uid.toString()))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Cycle disabled!");
|
||||
getLogger().message(sender, "Cycle disabled!");
|
||||
no_cyclers.add(uid.toString());
|
||||
saveCyclers();
|
||||
}
|
||||
else
|
||||
Utils.sendMessage(sender, null, "Cycle was already disabled!");
|
||||
getLogger().message(sender, "Cycle was already disabled!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -89,9 +91,9 @@ public class Cycle implements Module, Listener
|
||||
int prev_slot = event.getPreviousSlot();
|
||||
int new_slot = event.getNewSlot();
|
||||
if (prev_slot == 0 && new_slot == 8)
|
||||
shift(player, true);
|
||||
else if (prev_slot == 8 && new_slot == 0)
|
||||
shift(player, false);
|
||||
else if (prev_slot == 8 && new_slot == 0)
|
||||
shift(player, true);
|
||||
}
|
||||
|
||||
private void shift(Player player, boolean down)
|
||||
|
||||
@@ -31,13 +31,15 @@ import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class DamnSpam implements Module, Listener
|
||||
{
|
||||
File configFile = new File(Main.plugin.getDataFolder(), "DamnSpam.json");
|
||||
@@ -47,7 +49,7 @@ public class DamnSpam implements Module, Listener
|
||||
HashMap<Material, int[][]> attachedBlocks;
|
||||
HashMap<Player, SpamInput> players;
|
||||
int maxTimeout = 240;
|
||||
String timeoutErrorString = "&cThe timeout must be -1 or within 0 and " + maxTimeout;
|
||||
String timeoutErrorString = "The timeout must be -1 or within 0 and " + maxTimeout;
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
@@ -141,10 +143,10 @@ public class DamnSpam implements Module, Listener
|
||||
destroyingInput = true;
|
||||
else if (!isAcceptableTimeout(seconds))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&cThe timeout must be -1 or within 0 and " + maxTimeout, '&');
|
||||
getLogger().message(sender, true, "The timeout must be -1 or within 0 and " + maxTimeout);
|
||||
return;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "&aPlease click the input you would like to set.", '&');
|
||||
getLogger().message(sender, "Please click the input you would like to set.");
|
||||
setPlayer((Player) sender, destroyingInput, seconds, seconds);
|
||||
}
|
||||
|
||||
@@ -160,10 +162,10 @@ public class DamnSpam implements Module, Listener
|
||||
}
|
||||
else if (!(isAcceptableTimeout(secondsOn) && isAcceptableTimeout(secondsOff)))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&cThe timeout must be -1 or within 0 and " + maxTimeout, '&');
|
||||
getLogger().message(sender, true, "The timeout must be -1 or within 0 and " + maxTimeout);
|
||||
return;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "&aPlease click the input you would like to set.", '&');
|
||||
getLogger().message(sender, "Please click the input you would like to set.");
|
||||
setPlayer((Player) sender, destroyingInput, secondsOff, secondsOn);
|
||||
}
|
||||
|
||||
@@ -183,7 +185,7 @@ public class DamnSpam implements Module, Listener
|
||||
{
|
||||
if (!acceptedInputs.contains(block.getType()))
|
||||
{
|
||||
Utils.sendMessage(player, null, "&cThat block is not an acceptable input!", '&');
|
||||
getLogger().message(player, true, "That block is not an acceptable input!");
|
||||
return true;
|
||||
}
|
||||
String typeStr = block.getType().toString().toLowerCase().replace("_", " ");
|
||||
@@ -193,8 +195,9 @@ public class DamnSpam implements Module, Listener
|
||||
changingInput = false;
|
||||
if (!buildCheck)
|
||||
{
|
||||
Utils.sendMessage(player, null,
|
||||
"&cThere is no timeout to remove on this " + typeStr + "(by setting the timeout to 0)", '&');
|
||||
getLogger().message(player, true,
|
||||
"Something went wrong trying to change the timeout on this " + typeStr + "!");
|
||||
event.setCancelled(true);
|
||||
return true;
|
||||
}
|
||||
SpamInput input = players.get(player);
|
||||
@@ -202,18 +205,18 @@ public class DamnSpam implements Module, Listener
|
||||
{
|
||||
if (!inputs.containsKey(locationStr))
|
||||
{
|
||||
Utils.sendMessage(player, null,
|
||||
"&cThere is no timeout to remove on this " + typeStr + "(by setting the timeout to 0)",
|
||||
'&');
|
||||
getLogger().message(player, true,
|
||||
"Something went wrong trying to change the timeout on this " + typeStr + "!");
|
||||
event.setCancelled(true);
|
||||
return true;
|
||||
}
|
||||
inputs.remove(locationStr);
|
||||
Utils.sendMessage(player, null, "&aSuccessfully removed the timeout for this " + typeStr, '&');
|
||||
getLogger().message(player, "Successfully removed the timeout for this " + typeStr);
|
||||
}
|
||||
else
|
||||
{
|
||||
inputs.put(locationStr, players.get(player));
|
||||
Utils.sendMessage(player, null, "&aSuccessfully set a timeout for this " + typeStr, '&');
|
||||
getLogger().message(player, "Successfully set a timeout for this " + typeStr);
|
||||
}
|
||||
event.setCancelled(true);
|
||||
players.remove(player);
|
||||
@@ -237,9 +240,8 @@ public class DamnSpam implements Module, Listener
|
||||
: "the " + typeStr + " attached to that block");
|
||||
if (!sender.isSneaking())
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&cYou cannot destroy " + inputStr, '&');
|
||||
Utils.sendMessage(sender, "", "&c&nSneak&c and break or set the timeout to 0 if you want to remove it.",
|
||||
'&');
|
||||
getLogger().message(sender, true, "You cannot destroy " + inputStr);
|
||||
getLogger().message(sender, true, "Sneak and break or set the timeout to 0 if you want to remove it.");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
@@ -247,11 +249,11 @@ public class DamnSpam implements Module, Listener
|
||||
{
|
||||
inputs.remove(posStr);
|
||||
saveInputs();
|
||||
Utils.sendMessage(sender, null, "&aSuccesfully removed " + inputStr, '&');
|
||||
getLogger().message(sender, "Succesfully removed " + inputStr);
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&cYou are not allowed to remove " + inputStr, '&');
|
||||
getLogger().message(sender, true, "You are not allowed to remove " + inputStr);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@@ -305,6 +307,8 @@ public class DamnSpam implements Module, Listener
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onInteract(PlayerInteractEvent event)
|
||||
{
|
||||
if (event.getClickedBlock() == null)
|
||||
return;
|
||||
boolean register = attemptInputRegister(event.getPlayer(), event.getClickedBlock(), event);
|
||||
if (!register && event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && !event.isCancelled())
|
||||
{
|
||||
@@ -326,13 +330,13 @@ public class DamnSpam implements Module, Listener
|
||||
if (checktime == -1)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
Utils.sendMessage(sender, null, "&cThis " + btype + " is locked permanently by /damnspam.", '&');
|
||||
getLogger().message(sender, "This " + btype + " is locked permanently by /damnspam.");
|
||||
}
|
||||
else if (timeLeft > 0)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
Utils.sendMessage(sender, null, "&cThis " + btype + " has a damnspam timeout of " + checktime
|
||||
+ ", with " + timeLeft + " left.", '&');
|
||||
getLogger().message(sender, "This " + btype + " has a damnspam timeout of " + checktime + ", with "
|
||||
+ timeLeft + " left.");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -18,20 +19,24 @@ import org.json.simple.JSONObject;
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.CoreModule;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.Stream)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 3, minor = 2, revision = 2, compatible = 3)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public final class DataManager implements CoreModule, Listener
|
||||
{
|
||||
protected final File dataFolder = new File(Main.plugin.getDataFolder(), "data");
|
||||
protected JSONObject data = new JSONObject();
|
||||
protected HashMap<String, HashMap<String, Boolean>> states = new HashMap<String, HashMap<String, Boolean>>();
|
||||
|
||||
@Override
|
||||
public void postEnable()
|
||||
@@ -42,6 +47,7 @@ public final class DataManager implements CoreModule, Listener
|
||||
{
|
||||
loadData_(p.getUniqueId().toString());
|
||||
}
|
||||
states.put(getID(Bukkit.getConsoleSender()), new HashMap<String, Boolean>());
|
||||
CommandManager.registerCommand(getClass().getResourceAsStream("DataManager.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@@ -64,7 +70,7 @@ public final class DataManager implements CoreModule, Listener
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "Could not import data!");
|
||||
getLogger().error("Could not import data!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -107,6 +113,7 @@ public final class DataManager implements CoreModule, Listener
|
||||
if (playerData == null)
|
||||
playerData = new JSONObject();
|
||||
data.put(id.toString(), playerData);
|
||||
states.put(id.toString(), new HashMap<String, Boolean>());
|
||||
}
|
||||
|
||||
public static Object getOrDefault(CommandSender sender, String key, Object fallback)
|
||||
@@ -511,6 +518,7 @@ public final class DataManager implements CoreModule, Listener
|
||||
protected void saveAndUnload(CommandSender sender)
|
||||
{
|
||||
saveAndUnload(getID(sender));
|
||||
states.remove(getID(sender));
|
||||
}
|
||||
|
||||
protected void saveAndUnload(String id)
|
||||
@@ -528,4 +536,50 @@ public final class DataManager implements CoreModule, Listener
|
||||
id = "CONSOLE";
|
||||
return id;
|
||||
}
|
||||
|
||||
public static void setState(CommandSender sender, String key, boolean value)
|
||||
{
|
||||
try
|
||||
{
|
||||
Module mod = ModuleLoader.getModule("DataManager");
|
||||
Method m = mod.getClass().getDeclaredMethod("setState_", CommandSender.class, String.class, boolean.class);
|
||||
m.setAccessible(true);
|
||||
m.invoke(mod, sender, key);
|
||||
}
|
||||
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||
| InvocationTargetException e)
|
||||
{}
|
||||
}
|
||||
|
||||
protected void setState_(CommandSender sender, String key, boolean value)
|
||||
{
|
||||
String id = getID(sender);
|
||||
HashMap<String, Boolean> lstates = states.get(id);
|
||||
lstates.put(key, value);
|
||||
states.put(id, lstates);
|
||||
}
|
||||
|
||||
public static boolean getState(CommandSender sender, String key)
|
||||
{
|
||||
try
|
||||
{
|
||||
Module mod = ModuleLoader.getModule("DataManager");
|
||||
Method m = mod.getClass().getDeclaredMethod("getState_", CommandSender.class, String.class);
|
||||
m.setAccessible(true);
|
||||
return (boolean) m.invoke(mod, sender, key);
|
||||
}
|
||||
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||
| InvocationTargetException e)
|
||||
{}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected boolean getState_(CommandSender sender, String key)
|
||||
{
|
||||
String id = getID(sender);
|
||||
HashMap<String, Boolean> lstates = states.get(id);
|
||||
if (lstates == null)
|
||||
return false;
|
||||
return lstates.containsKey(key) ? lstates.get(key) : false;
|
||||
}
|
||||
}
|
||||
|
||||
45
src/com/redstoner/modules/eastereggs/Eastereggs.cmd
Normal file
45
src/com/redstoner/modules/eastereggs/Eastereggs.cmd
Normal file
@@ -0,0 +1,45 @@
|
||||
command rekmedaddy {
|
||||
[empty] {
|
||||
run rekmedaddy;
|
||||
help Rek me harder;
|
||||
}
|
||||
}
|
||||
command shear {
|
||||
[empty] {
|
||||
run shear;
|
||||
help Sets your shear item to the item in your hand.;
|
||||
}
|
||||
clear {
|
||||
run shear_clear;
|
||||
help Resets your shear item;
|
||||
}
|
||||
perm utils.eastereggs.shear;
|
||||
type player;
|
||||
}
|
||||
command stick {
|
||||
[empty] {
|
||||
run stick;
|
||||
help Does stuff.;
|
||||
type player;
|
||||
}
|
||||
}
|
||||
command hidden {
|
||||
[empty] {
|
||||
run hidden;
|
||||
help Does stuff.;
|
||||
}
|
||||
}
|
||||
|
||||
command remindmedaddy {
|
||||
[empty] {
|
||||
run remind;
|
||||
help Does stuff.;
|
||||
}
|
||||
}
|
||||
|
||||
command deadbush {
|
||||
[empty] {
|
||||
run bush;
|
||||
help Does stuff.;
|
||||
}
|
||||
}
|
||||
359
src/com/redstoner/modules/eastereggs/Eastereggs.java
Normal file
359
src/com/redstoner/modules/eastereggs/Eastereggs.java
Normal file
@@ -0,0 +1,359 @@
|
||||
package com.redstoner.modules.eastereggs;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.modules.Module;
|
||||
import com.redstoner.modules.datamanager.DataManager;
|
||||
import com.redstoner.utils.ItemProperties;
|
||||
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.File)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Eastereggs implements Module, Listener
|
||||
{
|
||||
final File prefixFile = new File(Main.plugin.getDataFolder(), "eastereggs/prefix.json"),
|
||||
itemFile = new File(Main.plugin.getDataFolder(), "eastereggs/item.json"),
|
||||
modifierFile = new File(Main.plugin.getDataFolder(), "eastereggs/modifier.json"),
|
||||
suffixFile = new File(Main.plugin.getDataFolder(), "eastereggs/suffix.json");
|
||||
JSONArray prefix, item, modifier, suffix;
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
prefix = JsonManager.getArray(prefixFile);
|
||||
item = JsonManager.getArray(itemFile);
|
||||
modifier = JsonManager.getArray(modifierFile);
|
||||
suffix = JsonManager.getArray(suffixFile);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "rekmedaddy")
|
||||
public boolean rekmedaddy(CommandSender sender)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendTextHover("§c#BlameNyx", "§5No really. Blame Nyx.");
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "remind")
|
||||
public boolean remindmedaddy(CommandSender sender)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("§cls = list");
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "hidden")
|
||||
public boolean hidden(CommandSender sender)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("§dI am going to put cute stickers on your rotting corpse. <3");
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "shear")
|
||||
public boolean shear(CommandSender sender)
|
||||
{
|
||||
Player p = (Player) sender;
|
||||
ItemStack item = p.getInventory().getItemInMainHand();
|
||||
if (item == null)
|
||||
return shear_clear(sender);
|
||||
ItemProperties itemProps = new ItemProperties(item);
|
||||
DataManager.setData(sender, "item", itemProps.toJSONObject());
|
||||
setPrefix("Shear");
|
||||
getLogger().message(sender, "Set ya shear item to whatever you have in ya hand m8!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "shear_clear")
|
||||
public boolean shear_clear(CommandSender sender)
|
||||
{
|
||||
DataManager.removeData(sender, "item");
|
||||
getLogger().message(sender, "Cleared ya shear!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerShear(PlayerInteractAtEntityEvent event)
|
||||
{
|
||||
if (event.getHand() == EquipmentSlot.OFF_HAND)
|
||||
return;
|
||||
Entity e = event.getRightClicked();
|
||||
if (!(e instanceof Player))
|
||||
return;
|
||||
if (event.getPlayer().getInventory().getItemInMainHand().getType() != Material.SHEARS)
|
||||
return;
|
||||
Player target = (Player) e;
|
||||
if (!target.hasPermission("utils.eastereggs.shear"))
|
||||
return;
|
||||
Player player = event.getPlayer();
|
||||
if (!(player.getGameMode() == GameMode.CREATIVE))
|
||||
return;
|
||||
ItemProperties itemProps = new ItemProperties();
|
||||
Object o = DataManager.getData(target, "item");
|
||||
ItemStack item;
|
||||
if (o == null)
|
||||
item = new ItemStack(Material.REDSTONE);
|
||||
else
|
||||
item = itemProps.loadFrom((JSONObject) o).toItemStack();
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_SHEEP_SHEAR, 1f, 1f);
|
||||
player.getInventory().addItem(item);
|
||||
}
|
||||
|
||||
@Command(hook = "stick")
|
||||
public boolean stick(CommandSender sender)
|
||||
{
|
||||
setPrefix("Stick");
|
||||
Player player = (Player) sender;
|
||||
if (player.getGameMode() != GameMode.CREATIVE)
|
||||
{
|
||||
getLogger().message(sender, true, "§4The gods are angry with you, as you tried to cheat the system...");
|
||||
return true;
|
||||
}
|
||||
Random random = new Random();
|
||||
JSONObject prefx = (JSONObject) prefix.get(random.nextInt(prefix.size()));
|
||||
JSONObject itm = (JSONObject) item.get(random.nextInt(item.size()));
|
||||
JSONObject mod = (JSONObject) modifier.get(random.nextInt(modifier.size()));
|
||||
JSONObject sufx = (JSONObject) suffix.get(random.nextInt(suffix.size()));
|
||||
|
||||
StringBuilder sb = new StringBuilder("§r");
|
||||
sb.append(prefx.get("name"));
|
||||
sb.append(" ");
|
||||
sb.append(itm.get("name"));
|
||||
sb.append(" of ");
|
||||
sb.append(mod.get("name"));
|
||||
sb.append(" ");
|
||||
sb.append(sufx.get("name"));
|
||||
|
||||
String itemName = sb.toString().replace(" ", " ");
|
||||
|
||||
Object rawMaterialName;
|
||||
if ((rawMaterialName = sufx.get("item")) == null)
|
||||
if ((rawMaterialName = mod.get("item")) == null)
|
||||
if ((rawMaterialName = itm.get("item")) == null)
|
||||
if ((rawMaterialName = prefx.get("item")) == null)
|
||||
rawMaterialName = "minecraft:stick";
|
||||
|
||||
Material material = Material.valueOf(((String) rawMaterialName).toUpperCase().replaceFirst(".+?:", ""));
|
||||
if (material == null)
|
||||
material = Material.STICK;
|
||||
|
||||
ItemStack resultingItem = new ItemStack(material);
|
||||
ItemMeta meta = resultingItem.getItemMeta();
|
||||
if (meta == null)
|
||||
meta = Bukkit.getServer().getItemFactory().getItemMeta(material);
|
||||
if (meta != null)
|
||||
{
|
||||
meta.setDisplayName(itemName);
|
||||
|
||||
// Enchantments
|
||||
|
||||
boolean override = false;
|
||||
int overrideLvl = 0;
|
||||
int totalMod = 0;
|
||||
|
||||
Object rawMod;
|
||||
if ((rawMod = sufx.get("mod")) != null)
|
||||
{
|
||||
String stringMod = (String) rawMod;
|
||||
if (stringMod.startsWith("="))
|
||||
{
|
||||
overrideLvl = Integer.parseInt(stringMod.replaceFirst("=", ""));
|
||||
override = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMod += parseInt(stringMod);
|
||||
}
|
||||
}
|
||||
if ((rawMod = mod.get("mod")) != null)
|
||||
{
|
||||
String stringMod = (String) rawMod;
|
||||
if (stringMod.startsWith("="))
|
||||
{
|
||||
overrideLvl = Integer.parseInt(stringMod.replaceFirst("=", ""));
|
||||
override = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMod += parseInt(stringMod);
|
||||
}
|
||||
}
|
||||
if ((rawMod = itm.get("mod")) != null)
|
||||
{
|
||||
String stringMod = (String) rawMod;
|
||||
if (stringMod.startsWith("="))
|
||||
{
|
||||
overrideLvl = Integer.parseInt(stringMod.replaceFirst("=", ""));
|
||||
override = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMod += parseInt(stringMod);
|
||||
}
|
||||
}
|
||||
if ((rawMod = prefx.get("mod")) != null)
|
||||
{
|
||||
String stringMod = (String) rawMod;
|
||||
if (stringMod.startsWith("="))
|
||||
{
|
||||
overrideLvl = Integer.parseInt(stringMod.replaceFirst("=", ""));
|
||||
override = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMod += parseInt(stringMod);
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<Enchantment, Integer> enchants = parseEnchants(prefx, itm, mod, sufx);
|
||||
if (enchants != null)
|
||||
for (Entry<Enchantment, Integer> entry : enchants.entrySet())
|
||||
{
|
||||
Integer lvl = entry.getValue();
|
||||
if (lvl == null)
|
||||
lvl = 1;
|
||||
meta.addEnchant(entry.getKey() == null ? getRandomValue(Enchantment.values()) : entry.getKey(),
|
||||
override ? overrideLvl : (lvl + totalMod), true);
|
||||
}
|
||||
|
||||
resultingItem.setItemMeta(meta);
|
||||
}
|
||||
|
||||
getLogger().message(player, "§8You have received a gift from the gods!");
|
||||
try
|
||||
{
|
||||
player.getInventory().addItem(resultingItem);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public HashMap<Enchantment, Integer> parseEnchants(JSONObject prefx, JSONObject itm, JSONObject mod,
|
||||
JSONObject sufx)
|
||||
{
|
||||
HashMap<Enchantment, Integer> result = new HashMap<Enchantment, Integer>();
|
||||
Object raw;
|
||||
if ((raw = sufx.get("ench")) != null)
|
||||
{
|
||||
if (raw instanceof String)
|
||||
return null;
|
||||
JSONArray rawArray = (JSONArray) raw;
|
||||
for (Object o : rawArray)
|
||||
{
|
||||
JSONObject rawEnchant = (JSONObject) o;
|
||||
result.put(Enchantment.getByName((String) rawEnchant.get("id")),
|
||||
parseInt((String) rawEnchant.get("lvl")));
|
||||
}
|
||||
}
|
||||
|
||||
if ((raw = mod.get("ench")) != null)
|
||||
{
|
||||
if (raw instanceof String)
|
||||
return null;
|
||||
JSONArray rawArray = (JSONArray) raw;
|
||||
for (Object o : rawArray)
|
||||
{
|
||||
JSONObject rawEnchant = (JSONObject) o;
|
||||
result.put(Enchantment.getByName((String) rawEnchant.get("id")),
|
||||
parseInt((String) rawEnchant.get("lvl")));
|
||||
}
|
||||
}
|
||||
|
||||
if ((raw = itm.get("ench")) != null)
|
||||
{
|
||||
if (raw instanceof String)
|
||||
return null;
|
||||
JSONArray rawArray = (JSONArray) raw;
|
||||
for (Object o : rawArray)
|
||||
{
|
||||
JSONObject rawEnchant = (JSONObject) o;
|
||||
result.put(Enchantment.getByName((String) rawEnchant.get("id")),
|
||||
parseInt((String) rawEnchant.get("lvl")));
|
||||
}
|
||||
}
|
||||
|
||||
if ((raw = prefx.get("ench")) != null)
|
||||
{
|
||||
if (raw instanceof String)
|
||||
return null;
|
||||
JSONArray rawArray = (JSONArray) raw;
|
||||
for (Object o : rawArray)
|
||||
{
|
||||
JSONObject rawEnchant = (JSONObject) o;
|
||||
result.put(Enchantment.getByName((String) rawEnchant.get("id")),
|
||||
parseInt((String) rawEnchant.get("lvl")));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Command(hook = "bush")
|
||||
public boolean bush(CommandSender sender)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("§8There is no /deadbush");
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static Integer parseInt(String raw)
|
||||
{
|
||||
if (raw == null)
|
||||
return null;
|
||||
else if (raw.startsWith("["))
|
||||
{
|
||||
String[] rawArray = raw.replace("[", "").replace("]", "").split(";");
|
||||
if (rawArray.length != 2)
|
||||
return null;
|
||||
int lower = Integer.parseInt(rawArray[0]);
|
||||
int upper = Integer.parseInt(rawArray[1]);
|
||||
Random random = new Random();
|
||||
return random.nextInt(upper - lower) + lower;
|
||||
}
|
||||
else
|
||||
return Integer.valueOf(raw);
|
||||
}
|
||||
|
||||
private static <T> T getRandomValue(T[] array)
|
||||
{
|
||||
Random random = new Random();
|
||||
return array[random.nextInt(array.length)];
|
||||
}
|
||||
}
|
||||
@@ -10,18 +10,19 @@ 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.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 7, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class FirstSeen implements Module
|
||||
{
|
||||
@SuppressWarnings("deprecation")
|
||||
@Command(hook = "firstseenP")
|
||||
public void firstseen(CommandSender sender, String person)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&7Please note that the data may not be fully accurate!", '&');
|
||||
OfflinePlayer oPlayer = Bukkit.getPlayer(person);
|
||||
if (oPlayer == null)
|
||||
oPlayer = Bukkit.getServer().getOfflinePlayer(person);
|
||||
@@ -30,11 +31,11 @@ public class FirstSeen implements Module
|
||||
String disDate = format.format(new Date(firstJoin));
|
||||
if (disDate.equals("1969-12-31 19:00"))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&3" + oPlayer.getName() + "&c has never joined.", '&');
|
||||
getLogger().message(sender, true, "&3" + oPlayer.getName() + "&c has never joined.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&3" + oPlayer.getName() + " &efirst joined&a " + disDate + "&e.", '&');
|
||||
getLogger().message(sender, "&3" + oPlayer.getName() + " &efirst joined&a " + disDate + "&e.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +59,7 @@ public class FirstSeen implements Module
|
||||
Player player = Bukkit.getPlayer(name);
|
||||
if (player == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"That player couldn't be found! Hint: Currently, you can only check statistics of players that are online!");
|
||||
return true;
|
||||
}
|
||||
@@ -66,13 +67,12 @@ public class FirstSeen implements Module
|
||||
int days = ticks_lived / 1728000;
|
||||
int hours = (ticks_lived % 1728000) / 72000;
|
||||
int minutes = (ticks_lived % 72000) / 1200;
|
||||
Utils.sendMessage(sender, null,
|
||||
"The player &e" + name + " &7has been on for "
|
||||
getLogger().message(sender,
|
||||
"The player &e" + name + " &7has been online for "
|
||||
+ (days == 0 && hours == 0 && minutes == 0 ? "less than a minute."
|
||||
: ("a total of: &e" + (days != 0 ? (days + "d ") : "")
|
||||
+ ((hours != 0 || days != 0) ? (hours + "h ") : "")
|
||||
+ ((minutes != 0 || hours != 0 || days != 0) ? (minutes + "m") : ""))),
|
||||
'&');
|
||||
+ ((minutes != 0 || hours != 0 || days != 0) ? (minutes + "m") : ""))));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,11 +6,13 @@ import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Illumination implements Module
|
||||
{
|
||||
PotionEffect effect = new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 0, false, false);
|
||||
@@ -22,12 +24,12 @@ public class Illumination implements Module
|
||||
if (player.hasPotionEffect(PotionEffectType.NIGHT_VISION))
|
||||
{
|
||||
player.removePotionEffect(PotionEffectType.NIGHT_VISION);
|
||||
Utils.sendMessage(sender, null, "Night Vision Disabled.");
|
||||
getLogger().message(sender, "Night Vision Disabled.");
|
||||
}
|
||||
else
|
||||
{
|
||||
player.addPotionEffect(effect, true);
|
||||
Utils.sendMessage(sender, null, "Night Vision Enabled.");
|
||||
getLogger().message(sender, "Night Vision Enabled.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,11 +7,14 @@ 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.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Imout implements Module
|
||||
{
|
||||
List<String> imout_toggle_list = new ArrayList<String>();
|
||||
@@ -25,8 +28,7 @@ public class Imout implements Module
|
||||
if (imout_toggle_list.contains(name))
|
||||
{
|
||||
symbol = "§a§l+";
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", "§eWelcome back! You are no longer hidden");
|
||||
getLogger().message(sender, "§eWelcome back! You are no longer hidden", "");
|
||||
s.performCommand("vanish off");
|
||||
s.performCommand("act off");
|
||||
imout_toggle_list.remove(name);
|
||||
@@ -34,7 +36,7 @@ public class Imout implements Module
|
||||
else
|
||||
{
|
||||
symbol = "§c§l-";
|
||||
sender.sendMessage("§eYou just left... Or didn't you?");
|
||||
getLogger().message(sender, "§e§oPoof!§e You are now gone!", "");
|
||||
s.performCommand("vanish on");
|
||||
s.performCommand("act on");
|
||||
imout_toggle_list.add(name);
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -12,11 +12,13 @@ import org.bukkit.entity.Player;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class LagChunks implements Module
|
||||
{
|
||||
private List<LaggyChunk> laggyChunks = new ArrayList<LaggyChunk>();
|
||||
@@ -43,16 +45,17 @@ public class LagChunks implements Module
|
||||
{
|
||||
if (laggyChunks.size() > 0)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
for (LaggyChunk lc : laggyChunks)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "§b[§a" + laggyChunks.indexOf(lc) + "§b]: §a" + lc.x + "§7, §a" + lc.y
|
||||
+ "§7, §a" + lc.z + " §7(" + lc.world.getName() + ") §a- §b" + lc.amount + " entities");
|
||||
message.add("§b[§a" + laggyChunks.indexOf(lc) + "§b]: §a" + lc.x + "§7, §a" + lc.y + "§7, §a" + lc.z
|
||||
+ " §7(" + lc.world.getName() + ") §a- §b" + lc.amount + " entities");
|
||||
}
|
||||
Utils.sendMessage(sender, "", "§2-------------------");
|
||||
message.add("§2-------------------");
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
}
|
||||
else
|
||||
Utils.sendMessage(sender, null, "Couldn't find any chunks with that many entities.");
|
||||
getLogger().message(sender, true, "Couldn't find any chunks with that many entities.");
|
||||
}
|
||||
|
||||
@Command(hook = "scan_cmd", async = AsyncType.ALWAYS)
|
||||
@@ -69,11 +72,11 @@ public class LagChunks implements Module
|
||||
if (number < laggyChunks.size())
|
||||
{
|
||||
player.teleport(laggyChunks.get(number).getLocation());
|
||||
Utils.sendMessage(player, null, "§aTeleported to chunk " + number + "!");
|
||||
getLogger().message(player, "§aTeleported to chunk " + number + "!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "§4Invalid chunk number! Use §e/lc list §4to show laggy chunks!");
|
||||
getLogger().message(sender, true, "§4Invalid chunk number! Use §e/lc list §4to show laggy chunks!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,13 +8,16 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 3, minor = 0, revision = 2, compatible = 3)
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.File)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class List implements Module
|
||||
{
|
||||
private HashMap<String, Integer> onConsole;
|
||||
@@ -23,7 +26,6 @@ public class List implements Module
|
||||
public void postEnable()
|
||||
{
|
||||
onConsole = new HashMap<String, Integer>();
|
||||
CommandManager.registerCommand(getClass().getResourceAsStream("List.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@Command(hook = "console_join")
|
||||
@@ -40,7 +42,10 @@ public class List implements Module
|
||||
public boolean console_leave(CommandSender sender, String name)
|
||||
{
|
||||
if (onConsole.containsKey(name))
|
||||
onConsole.put(name, onConsole.get(name) - 1);
|
||||
if (onConsole.get(name) == 1)
|
||||
onConsole.remove(name);
|
||||
else
|
||||
onConsole.put(name, onConsole.get(name) - 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,11 +64,9 @@ public class List implements Module
|
||||
@Command(hook = "list_rank")
|
||||
public boolean listRank(CommandSender sender, String rank)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
|
||||
int onlinePlayers = Bukkit.getOnlinePlayers().size();
|
||||
Utils.sendMessage(sender, "", "&7There are &e" + onlinePlayers + "&7 out of maximum &e" + Bukkit.getMaxPlayers()
|
||||
+ "&7 players online.", '&');
|
||||
getLogger().message(sender, "", "&7There are &e" + onlinePlayers + "&7 out of maximum &e"
|
||||
+ Bukkit.getMaxPlayers() + "&7 players online.");
|
||||
|
||||
rank = rank.toLowerCase();
|
||||
boolean all = rank.equals("all");
|
||||
@@ -112,20 +115,18 @@ public class List implements Module
|
||||
{
|
||||
if (!all)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You do not have permissions to see who's on console!");
|
||||
getLogger().message(sender, true, "You do not have permissions to see who's on console!");
|
||||
shownAnything = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!shownAnything)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, "",
|
||||
"Looks like I couldn't figure out what you meant. Try again with different parameters maybe?", '&');
|
||||
Utils.sendMessage(sender, "",
|
||||
"Possible parameters are: &eAll&7, &eStaff&7, &eVisitor&7, &eMember&7, &eBuilder&7, &eTrusted&7, &eMit&7, &eMod&7, &eAdmin&7 and &eLead",
|
||||
'&');
|
||||
Utils.sendMessage(sender, "", "You can also combine any of the parameters, like this: &eMember, Staff",
|
||||
'&');
|
||||
getLogger().message(sender,
|
||||
new String[] {
|
||||
"Looks like I couldn't figure out what you meant. Try again with different parameters maybe?",
|
||||
"Possible parameters are: &eAll&7, &eStaff&7, &eVisitor&7, &eMember&7, &eBuilder&7, &eTrusted&7, &eMit&7, &eMod&7, &eAdmin&7 and &eLead",
|
||||
"You can also combine any of the parameters, like this: &eMember, Staff"});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -148,7 +149,9 @@ public class List implements Module
|
||||
}
|
||||
if (players != null)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&8[" + rank + "&8]&7: " + players, '&');
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("&8[" + rank + "&8]&7: " + players);
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -20,9 +20,10 @@ import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.mysql.JSONManager;
|
||||
import com.redstoner.misc.mysql.MysqlHandler;
|
||||
import com.redstoner.misc.mysql.elements.ConstraintOperator;
|
||||
@@ -33,8 +34,9 @@ import com.redstoner.misc.mysql.elements.MysqlTable;
|
||||
import com.redstoner.misc.mysql.types.text.VarChar;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class LoginSecurity implements Module, Listener
|
||||
{
|
||||
protected static Map<UUID, Location> loggingIn;
|
||||
@@ -46,7 +48,7 @@ public class LoginSecurity implements Module, Listener
|
||||
Map<Serializable, Serializable> config = JSONManager.getConfiguration("loginsecurity.json");
|
||||
if (config == null || !config.containsKey("database") || !config.containsKey("table"))
|
||||
{
|
||||
Utils.sendErrorMessage(Bukkit.getConsoleSender(), null,
|
||||
getLogger().message(Bukkit.getConsoleSender(), true,
|
||||
"Could not load the LoginSecurity config file, disabling!");
|
||||
return false;
|
||||
}
|
||||
@@ -60,8 +62,7 @@ public class LoginSecurity implements Module, Listener
|
||||
}
|
||||
catch (NullPointerException e)
|
||||
{
|
||||
Utils.sendErrorMessage(Bukkit.getConsoleSender(), null,
|
||||
"Could not use the LoginSecurity config, disabling!");
|
||||
getLogger().message(Bukkit.getConsoleSender(), true, "Could not use the LoginSecurity config, disabling!");
|
||||
return false;
|
||||
}
|
||||
loggingIn = new HashMap<>();
|
||||
@@ -212,7 +213,7 @@ public class LoginSecurity implements Module, Listener
|
||||
{
|
||||
return;
|
||||
}
|
||||
Utils.sendMessage(player, null, "You'll have to log in within 60s or you'll be kicked!");
|
||||
getLogger().message(player, "You'll have to log in within 60s or you'll be kicked!");
|
||||
loggingIn.put(player.getUniqueId(), player.getLocation());
|
||||
BukkitScheduler scheduler = Bukkit.getScheduler();
|
||||
RepeatingLoginRunnable repeatingRunnable = new RepeatingLoginRunnable(this, player);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.redstoner.modules.mentio;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -16,14 +17,18 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 2, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Mentio implements Module, Listener
|
||||
{
|
||||
private File mentioLocation = new File(Main.plugin.getDataFolder(), "mentio.json");
|
||||
@@ -56,11 +61,11 @@ public class Mentio implements Module, Listener
|
||||
playerMentios.add(player.getDisplayName().split(" ")[0].replaceAll("§[0-9a-fk-o]", ""));
|
||||
}
|
||||
if (playerMentios.contains(trigger))
|
||||
Utils.sendErrorMessage(sender, null, "You already had that as a mentio!");
|
||||
getLogger().message(sender, true, "You already had that as a mentio!");
|
||||
else
|
||||
{
|
||||
playerMentios.add(trigger);
|
||||
Utils.sendMessage(sender, null, "Successfully added the trigger §e" + trigger + " §7for you!");
|
||||
getLogger().message(sender, "Successfully added the trigger §e" + trigger + " §7for you!");
|
||||
mentios.put(uuid.toString(), playerMentios);
|
||||
saveMentios();
|
||||
}
|
||||
@@ -81,10 +86,10 @@ public class Mentio implements Module, Listener
|
||||
playerMentios.add(player.getDisplayName().split(" ")[0].replaceAll("§[0-9a-fk-o]", ""));
|
||||
}
|
||||
if (!playerMentios.remove(trigger))
|
||||
Utils.sendErrorMessage(sender, null, "You didn't have that as a mentio!");
|
||||
getLogger().message(sender, true, "You didn't have that as a mentio!");
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Successfully removed the trigger §e" + trigger + " §7for you!");
|
||||
getLogger().message(sender, "Successfully removed the trigger §e" + trigger + " §7for you!");
|
||||
mentios.put(uuid.toString(), playerMentios);
|
||||
saveMentios();
|
||||
}
|
||||
@@ -95,7 +100,7 @@ public class Mentio implements Module, Listener
|
||||
@Command(hook = "listmentios")
|
||||
public boolean listMentios(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
Player player = (Player) sender;
|
||||
UUID uuid = player.getUniqueId();
|
||||
JSONArray playerMentios = (JSONArray) mentios.get(uuid.toString());
|
||||
@@ -108,8 +113,9 @@ public class Mentio implements Module, Listener
|
||||
for (Object raw : playerMentios)
|
||||
{
|
||||
String mentio = (String) raw;
|
||||
Utils.sendMessage(sender, "&2 -> &e", mentio, '&');
|
||||
message.add("&2 -> &e" + mentio);
|
||||
}
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -144,10 +150,11 @@ public class Mentio implements Module, Listener
|
||||
lastColorCodes += "§" + c;
|
||||
lastChar = c;
|
||||
}
|
||||
Utils.sendMessage(player, "",
|
||||
event.getFormat().replace("%1$s", event.getPlayer().getDisplayName()).replace("%2$s",
|
||||
event.getMessage().replaceFirst("(?i)(" + Pattern.quote(mentio) + ")([^ ]*)",
|
||||
"§a§o$1$2" + lastColorCodes)));
|
||||
Message m = new Message(player, null);
|
||||
m.appendText(event.getFormat().replace("%1$s", event.getPlayer().getDisplayName()).replace("%2$s",
|
||||
event.getMessage().replaceFirst("(?i)(" + Pattern.quote(mentio) + ")([^ ]*)",
|
||||
"§a§o$1$2" + lastColorCodes)));
|
||||
m.send();
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -8,26 +8,23 @@ import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
import com.redstoner.modules.socialspy.Socialspy;
|
||||
|
||||
@Version(major = 3, minor = 3, revision = 4, compatible = 3)
|
||||
import net.nemez.chatapi.ChatAPI;
|
||||
|
||||
@Commands(CommandHolderType.File)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Message implements Module
|
||||
{
|
||||
HashMap<CommandSender, CommandSender> replyTargets = new HashMap<CommandSender, CommandSender>();
|
||||
|
||||
@Override
|
||||
public void postEnable()
|
||||
{
|
||||
CommandManager.registerCommand(getClass().getResourceAsStream("Message.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@Command(hook = "message", async = AsyncType.ALWAYS)
|
||||
public boolean message(CommandSender sender, String target, String message)
|
||||
{
|
||||
@@ -38,12 +35,12 @@ public class Message implements Module
|
||||
p = Bukkit.getPlayer(target);
|
||||
if (p == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||
getLogger().message(sender, true, "That player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
message = Utils.colorify(message, sender);
|
||||
message = ChatAPI.colorify(sender, message);
|
||||
if (ModuleLoader.getModule("Socialspy") != null)
|
||||
Socialspy.spyBroadcast(sender, p, message, "/m", new BroadcastFilter()
|
||||
{
|
||||
@@ -53,8 +50,15 @@ public class Message implements Module
|
||||
return !(recipient.equals(sender) || recipient.equals(p));
|
||||
}
|
||||
});
|
||||
Utils.sendMessage(sender, "&6[&cme &6-> " + Utils.getName(p) + "&6] ", "§f" + message, '&');
|
||||
Utils.sendMessage(p, "&6[" + Utils.getName(sender) + " &6-> &cme&6] ", "§f" + message, '&');
|
||||
|
||||
net.nemez.chatapi.click.Message m = new net.nemez.chatapi.click.Message(sender, null);
|
||||
m.appendText("&6[&cme &6-> " + Utils.getName(p) + "&6] " + "§f" + message);
|
||||
m.send();
|
||||
|
||||
net.nemez.chatapi.click.Message m2 = new net.nemez.chatapi.click.Message(p, null);
|
||||
m2.appendText("&6[" + Utils.getName(sender) + " &6-> &cme&6] " + "§f" + message);
|
||||
m2.send();
|
||||
|
||||
replyTargets.put(sender, p);
|
||||
replyTargets.put(p, sender);
|
||||
}
|
||||
@@ -67,12 +71,12 @@ public class Message implements Module
|
||||
CommandSender target = replyTargets.get(sender);
|
||||
if (target == null || ((target instanceof OfflinePlayer) && !((OfflinePlayer) target).isOnline()))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You don't have anyone to reply to!");
|
||||
getLogger().message(sender, true, "You don't have anyone to reply to!");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
message = Utils.colorify(message, sender);
|
||||
message = ChatAPI.colorify(sender, message);
|
||||
if (ModuleLoader.getModule("Socialspy") != null)
|
||||
Socialspy.spyBroadcast(sender, target, message, "/r", new BroadcastFilter()
|
||||
{
|
||||
@@ -82,8 +86,14 @@ public class Message implements Module
|
||||
return !(recipient.equals(sender) || recipient.equals(target));
|
||||
}
|
||||
});
|
||||
Utils.sendMessage(sender, "&6[&cme &6-> " + Utils.getName(target) + "&6] ", "§f" + message, '&');
|
||||
Utils.sendMessage(target, "&6[" + Utils.getName(sender) + " &6-> &cme&6] ", "§f" + message, '&');
|
||||
|
||||
net.nemez.chatapi.click.Message m = new net.nemez.chatapi.click.Message(sender, null);
|
||||
m.appendText("&6[&cme &6-> " + Utils.getName(target) + "&6] " + "§f" + message);
|
||||
m.send();
|
||||
|
||||
net.nemez.chatapi.click.Message m2 = new net.nemez.chatapi.click.Message(target, null);
|
||||
m2.appendText("&6[" + Utils.getName(sender) + " &6-> &cme&6] " + "§f" + message);
|
||||
m2.send();
|
||||
}
|
||||
replyTargets.put(sender, target);
|
||||
replyTargets.put(target, sender);
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockFromToEvent;
|
||||
@@ -19,16 +20,23 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
import net.nemez.chatapi.ChatAPI;
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 22, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Misc implements Module, Listener
|
||||
{
|
||||
private final String[] sudoBlacklist = new String[] {".?+:?esudo", ".?+:?sudo", ".?+:?script.*", ".?+:?stop",
|
||||
".?+:?modules"};
|
||||
private final String[] sudoBlacklist = new String[] {"(.*:)?e?sudo", "(.*:)?script.*", "(.*:)?stop",
|
||||
"(.*:)?modules", "(.*:)?sayn", "(.*:)?pex", "(.*:)?console_.*", "(.*:)?op", "(.*:)?login", "(.*:)?register",
|
||||
"(.*:)?.*pass"};
|
||||
JSONObject config;
|
||||
JSONArray unprotectedRegions;
|
||||
|
||||
@@ -38,34 +46,31 @@ public class Misc implements Module, Listener
|
||||
Player player = event.getPlayer();
|
||||
if (!player.hasPlayedBefore())
|
||||
{
|
||||
Utils.broadcast("", "\n&a&lPlease welcome &f" + player.getDisplayName() + " &a<o Redstoner!\n", null,
|
||||
'&');
|
||||
Utils.sendMessage(player, "", " \n \n \n \n \n \n \n \n \n \n \n \n ", '&');
|
||||
Utils.sendMessage(player, "", " &4Welcome to the Redstoner Server!", '&');
|
||||
Utils.sendMessage(player, "", " &6Before you ask us things, take a quick", '&');
|
||||
Utils.sendMessage(player, "", " &6look at &a&nredstoner.com/info", '&');
|
||||
Utils.sendMessage(player, "", " \n&6thank you and happy playing ;)", '&');
|
||||
Utils.sendMessage(player, "", " \n \n", '&');
|
||||
Utils.broadcast("", "\n§a§lPlease welcome §f" + player.getDisplayName() + " §a§lto Redstoner!\n", null);
|
||||
String[] message = new String[] {" \n \n \n \n \n \n \n \n \n \n \n \n ",
|
||||
" &4Welcome to the Redstoner Server!", " &6Before you ask us things, take a quick",
|
||||
" &6look at &a&nredstoner.com/info", " \n&6thank you and happy playing ;)", " \n \n"};
|
||||
getLogger().message(player, message);
|
||||
}
|
||||
Material spawnBlock = player.getLocation().getBlock().getType();
|
||||
if (spawnBlock == Material.PORTAL || spawnBlock == Material.ENDER_PORTAL)
|
||||
{
|
||||
Utils.sendMessage(player, "", "&4Looks like you spawned in a portal... Let me help you out", '&');
|
||||
Utils.sendMessage(player, "", "&6You can use /back if you &nreally&6 want to go back", '&');
|
||||
getLogger().message(player, "&4Looks like you spawned in a portal... Let me help you out");
|
||||
getLogger().message(player, "&6You can use /back if you &nreally&6 want to go back");
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
}
|
||||
|
||||
// Disables spectator teleportation
|
||||
@EventHandler
|
||||
public void onSpectatorTeleort(PlayerTeleportEvent event)
|
||||
// Fixes MV end portal crashing
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onTeleport(PlayerTeleportEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
if (!event.isCancelled() && event.getCause() == TeleportCause.SPECTATE
|
||||
&& !player.hasPermission("utils.tp.spectate"))
|
||||
if (!event.isCancelled() && event.getCause() == TeleportCause.SPECTATE && !player.hasPermission("utils.tp"))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
Utils.sendErrorMessage(event.getPlayer(), null, "Spectator teleportation is disabled!");
|
||||
getLogger().message(event.getPlayer(), true, "Spectator teleportation is disabled!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,18 +112,18 @@ public class Misc implements Module, Listener
|
||||
}
|
||||
catch (NumberFormatException e)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That is not a valid number!");
|
||||
getLogger().message(sender, true, "That is not a valid number!");
|
||||
return true;
|
||||
}
|
||||
Bukkit.dispatchCommand(sender, "pex user " + user + " group add " + group + " * " + duration);
|
||||
Utils.sendMessage(sender, null, "Added to group " + group + "for " + duration + " seconds.");
|
||||
getLogger().message(sender, "Added to group " + group + "for " + duration + " seconds.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "echo")
|
||||
public boolean echo(CommandSender sender, String text)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&f" + text, '&');
|
||||
sender.sendMessage(text);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -130,29 +135,24 @@ public class Misc implements Module, Listener
|
||||
name = ((Player) sender).getDisplayName();
|
||||
else
|
||||
name = "§9" + sender.getName();
|
||||
if (sender.hasPermission("essentials.chat.color"))
|
||||
Utils.broadcast(" §7- " + name + " §7⇦ ", text, null, '&');
|
||||
else
|
||||
Utils.broadcast(" §7- " + name + " §7⇦ ", text, null);
|
||||
text = ChatAPI.colorify(sender, text);
|
||||
Utils.broadcast(" §7- " + name + " §7⇦ ", text, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "say")
|
||||
public boolean say(CommandSender sender, String message)
|
||||
{
|
||||
String name;
|
||||
if (sender instanceof Player)
|
||||
name = ((Player) sender).getDisplayName();
|
||||
else
|
||||
name = sender.getName();
|
||||
Utils.broadcast(" &7[&9" + name.replaceAll("[^0-9a-zA-Z§&\\[\\]]", "") + "&7]: ", "&r" + message, null, '&');
|
||||
String name = Utils.getName(sender);
|
||||
Utils.broadcast(" §7[§9" + name.replaceAll("[^0-9a-zA-Z§&\\[\\]]", "") + "§7]: ",
|
||||
"§r" + ChatAPI.colorify(null, message), null);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "sayn")
|
||||
public boolean say(CommandSender sender, String name, String message)
|
||||
{
|
||||
Utils.broadcast(" &7[&9" + name.replaceAll("[^0-9a-zA-Z§&\\[\\]]", "") + "&7]: ", "&r" + message, null, '&');
|
||||
Utils.broadcast(" §7[§9" + name + "§7]: ", "§r" + ChatAPI.colorify(null, message), null);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ public class Misc implements Module, Listener
|
||||
target = Bukkit.getPlayer(name);
|
||||
if (target == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||
getLogger().message(sender, false, "That player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
if (command.startsWith("/") || target.equals(Bukkit.getConsoleSender()))
|
||||
@@ -176,19 +176,19 @@ public class Misc implements Module, Listener
|
||||
String[] args = command.split(" ");
|
||||
for (String regex : sudoBlacklist)
|
||||
{
|
||||
if (args[0].matches(regex))
|
||||
if (args[0].matches("\\/" + regex))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You can't sudo anyone into using that command!");
|
||||
getLogger().message(sender, true, "You can't sudo anyone into using that command!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Bukkit.dispatchCommand(target, command.replaceFirst("/", ""));
|
||||
Utils.sendMessage(sender, null, "Sudoed " + name + " into running " + command);
|
||||
getLogger().message(sender, "Sudoed " + Utils.getName(target) + "&7 into running " + command);
|
||||
}
|
||||
else
|
||||
{
|
||||
((Player) target).chat(command);
|
||||
Utils.sendMessage(sender, null, "Sudoed " + name + " into saying " + command);
|
||||
getLogger().message(sender, "Sudoed " + Utils.getName(target) + "&7 into saying " + command);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -204,19 +204,40 @@ public class Misc implements Module, Listener
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, noformat ? "" : null,
|
||||
noformat ? "&rERR: Invalid UUID" : "&rThat UUID is not valid!!", '&');
|
||||
if (noformat)
|
||||
sender.sendMessage("ERR: Invalid UUID");
|
||||
else
|
||||
getLogger().message(sender, "That UUID is not valid!");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
p = Bukkit.getPlayer(name);
|
||||
if (p == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, noformat ? "" : null,
|
||||
noformat ? "&rERR: Invalid player" : "&rThat player couldn't be found!", '&');
|
||||
if (noformat)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("ERR: Invalid player");
|
||||
m.send();
|
||||
}
|
||||
else
|
||||
{
|
||||
getLogger().message(sender, "That player couldn't be found!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, noformat ? "" : null, "&r" + p.hasPermission(node), '&');
|
||||
|
||||
if (noformat)
|
||||
{
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText("" + p.hasPermission(node));
|
||||
m.send();
|
||||
}
|
||||
else
|
||||
{
|
||||
getLogger().message(sender, "" + p.hasPermission(node));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,45 +7,53 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.ServerListPingEvent;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 4, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Motd implements Module, Listener
|
||||
{
|
||||
private String default_motd, motd;
|
||||
|
||||
@Command(hook = "setmotd")
|
||||
@Command(hook = "setmotd", async = AsyncType.ALWAYS)
|
||||
public boolean setMotd(CommandSender sender, String motd)
|
||||
{
|
||||
if (motd.equals("--reset"))
|
||||
this.motd = default_motd;
|
||||
else
|
||||
this.motd = motd;
|
||||
Utils.sendMessage(sender, null, "The new motd is:\n" + this.motd, '&');
|
||||
getLogger().message(sender, "The new motd is:\n" + this.motd);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "getmotd")
|
||||
@Command(hook = "getmotd", async = AsyncType.ALWAYS)
|
||||
public boolean getMotd(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, motd == null ? default_motd : motd, '&');
|
||||
getLogger().message(sender, motd == null ? default_motd : motd);
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onServerPing(ServerListPingEvent event)
|
||||
{
|
||||
event.setMotd(motd == null ? default_motd : motd);
|
||||
event.setMotd(motd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
default_motd = Bukkit.getMotd();
|
||||
if (default_motd == null)
|
||||
{
|
||||
default_motd = "§6Sample text\n§4FIX YOUR SERVER!";
|
||||
}
|
||||
motd = default_motd;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,13 +13,15 @@ import org.bukkit.event.server.ServerCommandEvent;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 3, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Nametags implements Module, Listener
|
||||
{
|
||||
@EventHandler
|
||||
@@ -85,7 +87,7 @@ public class Nametags implements Module, Listener
|
||||
{
|
||||
for (Player p : Bukkit.getOnlinePlayers())
|
||||
sortSpecific(p);
|
||||
Utils.sendMessage(sender, null, "Sorted tab for ya!");
|
||||
getLogger().message(sender, "Sorted tab for ya!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -95,12 +97,12 @@ public class Nametags implements Module, Listener
|
||||
Player p = Bukkit.getPlayer(player);
|
||||
if (p == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player couldn't be found!");
|
||||
getLogger().message(sender, true, "That player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
sortSpecific(p);
|
||||
Utils.sendMessage(sender, null, "Sorted §e" + player + " §7for ya!");
|
||||
getLogger().message(sender, "Sorted §e" + player + " §7for ya!");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,14 +12,15 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
@Version(major = 2, minor = 1, revision = 3, compatible = 2)
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Naming implements Module
|
||||
{
|
||||
@Command(hook = "anvil")
|
||||
@@ -38,12 +39,13 @@ public class Naming implements Module
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (meta == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You can not rename that item!");
|
||||
getLogger().message(sender, true, "You can not rename that item!");
|
||||
return;
|
||||
}
|
||||
meta.setDisplayName(name);
|
||||
item.setItemMeta(meta);
|
||||
Utils.sendMessage(sender, null, "Name set to " + name);
|
||||
getLogger().message(sender, "Name set to " + name);
|
||||
((Player) sender).updateInventory();
|
||||
}
|
||||
|
||||
@Command(hook = "lore")
|
||||
@@ -53,7 +55,7 @@ public class Naming implements Module
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (meta == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "You can not change the lore of that item!");
|
||||
getLogger().message(sender, true, "You can not change the lore of that item!");
|
||||
return;
|
||||
}
|
||||
List<String> currentLore;
|
||||
@@ -67,7 +69,8 @@ public class Naming implements Module
|
||||
currentLore.add(lore);
|
||||
meta.setLore(currentLore);
|
||||
item.setItemMeta(meta);
|
||||
Utils.sendMessage(sender, null, "Lore set to " + lore);
|
||||
getLogger().message(sender, "Lore set to " + lore);
|
||||
((Player) sender).updateInventory();
|
||||
}
|
||||
|
||||
// @noformat
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.redstoner.misc.Main;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@AutoRegisterListener
|
||||
@Version(major = 3, minor = 0, revision = 1, compatible = 3)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
@SuppressWarnings("unchecked")
|
||||
public class OnlinePlayers implements Module, Listener
|
||||
{
|
||||
|
||||
@@ -14,12 +14,14 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Pmtoggle implements Module, Listener
|
||||
{
|
||||
HashMap<Player, String> toggles = new HashMap<Player, String>();
|
||||
@@ -29,9 +31,9 @@ public class Pmtoggle implements Module, Listener
|
||||
{
|
||||
Player player = (Player) sender;
|
||||
if (toggles.remove(player) != null)
|
||||
Utils.sendMessage(player, null, "Your pmtoggle was removed!");
|
||||
getLogger().message(player, "Your pmtoggle was removed!");
|
||||
else
|
||||
Utils.sendMessage(player, null, "You didn't have pmtoggle enabled! Use /pmtoggle <player> to enabled it.");
|
||||
getLogger().message(player, "You didn't have pmtoggle enabled! Use /pmtoggle <player> to enabled it.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,11 +43,11 @@ public class Pmtoggle implements Module, Listener
|
||||
Player p = Bukkit.getPlayer(player);
|
||||
if (p == null && !player.equals("CONSOLE"))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "§cThat player couldn't be found!");
|
||||
getLogger().message(sender, "§cThat player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
toggles.put((Player) sender, player);
|
||||
Utils.sendMessage(sender, null, "Locked your pmtoggle onto §6" + player + "§7.");
|
||||
getLogger().message(sender, "Locked your pmtoggle onto §6" + player + "§7.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -72,8 +74,8 @@ public class Pmtoggle implements Module, Listener
|
||||
if (entry.getValue().equals(player))
|
||||
{
|
||||
toggles.remove(player);
|
||||
Utils.sendMessage(entry.getKey(), null,
|
||||
"We removed your pmtoggle for &6" + player + "&7, as they left the game.", '&');
|
||||
getLogger().message(entry.getKey(),
|
||||
"We removed your pmtoggle for &6" + player + "&7, as they left the game.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,9 @@ import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.modules.Module;
|
||||
@@ -23,7 +25,8 @@ import net.md_5.bungee.api.ChatColor;
|
||||
/** Report module. Allows reports to be created and handled by staff
|
||||
*
|
||||
* @author Redempt */
|
||||
@Version(major = 2, minor = 0, revision = 0, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Reports implements Module
|
||||
{
|
||||
private int task = 0;
|
||||
|
||||
@@ -3,38 +3,60 @@ package com.redstoner.modules.saylol;
|
||||
import java.io.File;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 0, compatible = 2)
|
||||
import net.nemez.chatapi.click.ClickCallback;
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Saylol implements Module
|
||||
{
|
||||
private long lastLol = 0;
|
||||
private File lolLocation = new File(Main.plugin.getDataFolder(), "lol.json");
|
||||
private JSONArray lols;
|
||||
private JSONArray lols, handlers;
|
||||
private final String LOL_PREFIX = "§8[§blol§8] ";
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public boolean onEnable()
|
||||
{
|
||||
lols = JsonManager.getArray(lolLocation);
|
||||
if (lols == null)
|
||||
lols = new JSONArray();
|
||||
handlers = new JSONArray();
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
handlers.add(new ClickCallback(true, true, "")
|
||||
{
|
||||
@Override
|
||||
public void run(CommandSender sender)
|
||||
{
|
||||
if (handlers.contains(this))
|
||||
clickAction((Player) sender, handlers.indexOf(this));
|
||||
else
|
||||
getLogger().message(sender, true, "That lol no longer exists!");
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable()
|
||||
{
|
||||
saveLols();
|
||||
saveLolsSync();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -42,11 +64,22 @@ public class Saylol implements Module
|
||||
public boolean addLol(CommandSender sender, String text)
|
||||
{
|
||||
if (lols.contains(text))
|
||||
Utils.sendErrorMessage(sender, null, "This lol already exists!");
|
||||
getLogger().message(sender, true, "This lol already exists!");
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Successfully added a new lol!");
|
||||
getLogger().message(sender, "Successfully added a new lol!");
|
||||
lols.add("&e" + text);
|
||||
handlers.add(new ClickCallback(true, true, "")
|
||||
{
|
||||
@Override
|
||||
public void run(CommandSender sender)
|
||||
{
|
||||
if (handlers.contains(this))
|
||||
clickAction((Player) sender, handlers.indexOf(this));
|
||||
else
|
||||
getLogger().message(sender, true, "That lol no longer exists!");
|
||||
}
|
||||
});
|
||||
saveLols();
|
||||
}
|
||||
return true;
|
||||
@@ -57,15 +90,16 @@ public class Saylol implements Module
|
||||
{
|
||||
if (lols.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no lols yet!");
|
||||
getLogger().message(sender, true, "There are no lols yet!");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= lols.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
getLogger().message(sender, true, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Successfully deleted the lol: " + lols.remove(id), '&');
|
||||
getLogger().message(sender, "Successfully deleted the lol: " + lols.remove(id));
|
||||
handlers.remove(id);
|
||||
saveLols();
|
||||
return true;
|
||||
}
|
||||
@@ -76,15 +110,15 @@ public class Saylol implements Module
|
||||
{
|
||||
if (lols.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no lols yet!");
|
||||
getLogger().message(sender, true, "There are no lols yet!");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= lols.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
getLogger().message(sender, true, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Successfully changed the lol: &e" + lols.get(id) + " &7to: &e" + text, '&');
|
||||
getLogger().message(sender, "Successfully changed the lol: &e" + lols.get(id) + " &7to: &e" + text);
|
||||
lols.set(id, text);
|
||||
saveLols();
|
||||
return true;
|
||||
@@ -95,19 +129,19 @@ public class Saylol implements Module
|
||||
{
|
||||
if (lols.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no lols yet!");
|
||||
getLogger().message(sender, true, "There are no lols yet!");
|
||||
return true;
|
||||
}
|
||||
long time = System.currentTimeMillis();
|
||||
if (time - lastLol < 15000)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"You can't use saylol for another " + (14 - (int) Math.ceil((time - lastLol) / 1000)) + "s.");
|
||||
return true;
|
||||
}
|
||||
if (id < 0 || id >= lols.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
getLogger().message(sender, true, "The ID must be at least 0 and at most " + (lols.size() - 1));
|
||||
return true;
|
||||
}
|
||||
String name;
|
||||
@@ -115,14 +149,14 @@ public class Saylol implements Module
|
||||
name = ((Player) sender).getDisplayName();
|
||||
else
|
||||
name = "&9" + sender.getName();
|
||||
Utils.broadcast("&8[&blol&8] ", name + "&8: &e" + lols.get(id), new BroadcastFilter()
|
||||
Utils.broadcast(LOL_PREFIX, name + "&8: &e" + lols.get(id), new BroadcastFilter()
|
||||
{
|
||||
@Override
|
||||
public boolean sendTo(CommandSender recipient)
|
||||
{
|
||||
return recipient.hasPermission("utils.lol.see");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
lastLol = time;
|
||||
return true;
|
||||
}
|
||||
@@ -132,13 +166,13 @@ public class Saylol implements Module
|
||||
{
|
||||
if (lols.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no lols yet!");
|
||||
getLogger().message(sender, true, "There are no lols yet!");
|
||||
return true;
|
||||
}
|
||||
long time = System.currentTimeMillis();
|
||||
if (time - lastLol < 15000)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"You can't use saylol for another " + (14 - (int) Math.ceil((time - lastLol) / 1000)) + "s.");
|
||||
return true;
|
||||
}
|
||||
@@ -149,14 +183,14 @@ public class Saylol implements Module
|
||||
name = "&9" + sender.getName();
|
||||
Random random = new Random();
|
||||
int id = random.nextInt(lols.size());
|
||||
Utils.broadcast("&8[&blol&8] ", name + "&8: &e" + lols.get(id), new BroadcastFilter()
|
||||
Utils.broadcast(LOL_PREFIX, name + "&8: &e" + lols.get(id), new BroadcastFilter()
|
||||
{
|
||||
@Override
|
||||
public boolean sendTo(CommandSender recipient)
|
||||
{
|
||||
return recipient.hasPermission("utils.lol.see");
|
||||
}
|
||||
}, '&');
|
||||
});
|
||||
lastLol = time;
|
||||
return true;
|
||||
}
|
||||
@@ -166,7 +200,7 @@ public class Saylol implements Module
|
||||
{
|
||||
if (lols.size() == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "There are no lols yet!");
|
||||
getLogger().message(sender, true, "There are no lols yet!");
|
||||
return true;
|
||||
}
|
||||
page = page - 1;
|
||||
@@ -175,18 +209,20 @@ public class Saylol implements Module
|
||||
int pages = (int) Math.ceil(lols.size() / 10d);
|
||||
if (start < 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "Page number too small, must be at least 0!");
|
||||
getLogger().message(sender, true, "Page number too small, must be at least 0!");
|
||||
return true;
|
||||
}
|
||||
if (start > lols.size())
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "Page number too big, must be at most " + pages + "!");
|
||||
getLogger().message(sender, true, "Page number too big, must be at most " + pages + "!");
|
||||
return true;
|
||||
}
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", "&ePage " + (page + 1) + "/" + pages + ":", '&');
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText(getLogger().getHeader().replace("\n", ""));
|
||||
m.appendText("&ePage " + (page + 1) + "/" + pages + ":");
|
||||
for (int i = start; i < end && i < lols.size(); i++)
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + lols.get(i), '&');
|
||||
m.appendCallback("\n&a" + i + "&8: &e" + lols.get(i), getCallback(i));
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -197,72 +233,50 @@ public class Saylol implements Module
|
||||
}
|
||||
|
||||
@Command(hook = "searchlol")
|
||||
public boolean search(CommandSender sender, boolean insensitive, String text)
|
||||
public boolean search(CommandSender sender, boolean sensitive, String text)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText(getLogger().getHeader().replace("\n", ""));
|
||||
boolean found = false;
|
||||
if (insensitive)
|
||||
{
|
||||
if (!sensitive)
|
||||
text = text.toLowerCase();
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
{
|
||||
if (((String) lols.get(i)).toLowerCase().contains(text))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + lols.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
{
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
String lol = (String) lols.get(i);
|
||||
if ((sensitive ? lol : lol.toLowerCase()).contains(text))
|
||||
{
|
||||
if (((String) lols.get(i)).contains(text))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + "&8: &e" + lols.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
m.appendCallback("\n&a" + i + "&8: &e" + lol, getCallback(i));
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&cCouldn't find any matching lols.", '&');
|
||||
}
|
||||
getLogger().message(sender, "&cCouldn't find any matching lols.");
|
||||
else
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "matchlol")
|
||||
public boolean match(CommandSender sender, boolean insensitive, String regex)
|
||||
public boolean match(CommandSender sender, boolean sensitive, String regex)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Message m = new Message(sender, null);
|
||||
m.appendText(getLogger().getHeader().replace("\n", ""));
|
||||
boolean found = false;
|
||||
if (insensitive)
|
||||
{
|
||||
if (!sensitive)
|
||||
regex = regex.toLowerCase();
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
{
|
||||
if (((String) lols.get(i)).toLowerCase().matches(regex))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + ": " + lols.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
{
|
||||
for (int i = 0; i < lols.size(); i++)
|
||||
String lol = (String) lols.get(i);
|
||||
if ((sensitive ? lol : lol.toLowerCase()).matches(regex))
|
||||
{
|
||||
if (((String) lols.get(i)).matches(regex))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&a" + i + ": " + lols.get(i), '&');
|
||||
found = true;
|
||||
}
|
||||
m.appendCallback("\n&a" + i + "&8: &e" + lol, getCallback(i));
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&cCouldn't find any matching lols.", '&');
|
||||
}
|
||||
getLogger().message(sender, "&cCouldn't find any matching lols.");
|
||||
else
|
||||
m.send();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -271,6 +285,22 @@ public class Saylol implements Module
|
||||
JsonManager.save(lols, lolLocation);
|
||||
}
|
||||
|
||||
public void saveLolsSync()
|
||||
{
|
||||
JsonManager.saveSync(lols, lolLocation);
|
||||
}
|
||||
|
||||
public ClickCallback getCallback(int index)
|
||||
{
|
||||
return (ClickCallback) handlers.get(index);
|
||||
}
|
||||
|
||||
public void clickAction(Player player, int index)
|
||||
{
|
||||
if (player.hasPermission("utils.lol.id"))
|
||||
Bukkit.dispatchCommand(player, "lol id " + index);
|
||||
}
|
||||
|
||||
// @noformat
|
||||
@Override
|
||||
public String getCommandString()
|
||||
|
||||
@@ -4,11 +4,14 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 1, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Scriptutils implements Module
|
||||
{
|
||||
/** Prints Bukkit restart message
|
||||
|
||||
@@ -16,20 +16,15 @@ import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 3, minor = 0, revision = 0, compatible = 3)
|
||||
@Commands(CommandHolderType.File)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class SignalStrength implements Module
|
||||
{
|
||||
@Override
|
||||
public void postEnable()
|
||||
{
|
||||
CommandManager.registerCommand(this.getClass().getResourceAsStream("SignalStrength.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@Command(hook = "ss")
|
||||
public boolean ss(CommandSender sender, int strength)
|
||||
@@ -45,13 +40,13 @@ public class SignalStrength implements Module
|
||||
Block target_block = player.getTargetBlock(new HashSet<Material>(), 5);
|
||||
if (target_block == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That command can only be used if a container is targeted!");
|
||||
getLogger().message(sender, true, "That command can only be used if a container is targeted!");
|
||||
return true;
|
||||
}
|
||||
Inventory inventory = getInventory(target_block);
|
||||
if (inventory == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That command can only be used if a container is targeted!");
|
||||
getLogger().message(sender, true, "That command can only be used if a container is targeted!");
|
||||
return true;
|
||||
}
|
||||
// --------Get the stack size and required amount of items to achieve the desired signal strength---------
|
||||
@@ -60,7 +55,7 @@ public class SignalStrength implements Module
|
||||
int item_count = required_item_count(strength, stack_size, slot_count);
|
||||
if (item_count == -1)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
getLogger().message(sender, true,
|
||||
"The desired signal strength could not be achieved with the requested item type");
|
||||
return true;
|
||||
}
|
||||
@@ -70,7 +65,7 @@ public class SignalStrength implements Module
|
||||
{
|
||||
if (!canBuild(player, b))
|
||||
{
|
||||
Utils.sendErrorMessage(sender, "", "You can not build here!");
|
||||
getLogger().message(sender, true, "You can not build here!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -86,7 +81,7 @@ public class SignalStrength implements Module
|
||||
if (remaining > 0)
|
||||
inv.setItem(full_stack_count, new ItemStack(item_type, remaining));
|
||||
}
|
||||
Utils.sendMessage(sender, null,
|
||||
getLogger().message(sender,
|
||||
"Comparators attached to this Inventory will now put out a signal strength of" + strength);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -8,11 +8,13 @@ import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 1, minor = 0, revision = 1, compatible = 1)
|
||||
@Commands(CommandHolderType.None)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
@AutoRegisterListener
|
||||
public class SkullClick implements Module, Listener
|
||||
{
|
||||
@@ -22,7 +24,7 @@ public class SkullClick implements Module, Listener
|
||||
@EventHandler
|
||||
public void onClick(PlayerInteractEvent e)
|
||||
{
|
||||
// For some reason the event gets fired twice, this fixes it. Lol.
|
||||
// The event gets fired twice, once for mainhand and once for offhand. This fixes that.
|
||||
if (seen)
|
||||
{
|
||||
seen = false;
|
||||
@@ -38,11 +40,11 @@ public class SkullClick implements Module, Listener
|
||||
String owner = skull.getOwner();
|
||||
if (owner == null || owner.equals(""))
|
||||
{
|
||||
Utils.sendMessage(e.getPlayer(), null, "§eThat skull has no owner.");
|
||||
getLogger().message(e.getPlayer(), true, "That skull has no owner.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(e.getPlayer(), null, "§eThat's " + owner + ".");
|
||||
getLogger().message(e.getPlayer(), "That's " + owner + ".");
|
||||
}
|
||||
if (!e.getPlayer().isSneaking())
|
||||
{
|
||||
@@ -51,10 +53,4 @@ public class SkullClick implements Module, Listener
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCommandString()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,8 +58,4 @@ command socialspy {
|
||||
run migrate;
|
||||
type console;
|
||||
}
|
||||
test {
|
||||
run test;
|
||||
type console;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.redstoner.modules.socialspy;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -11,25 +12,22 @@ import org.bukkit.entity.Player;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.CommandManager;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.BroadcastFilter;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.CoreModule;
|
||||
import com.redstoner.modules.Module;
|
||||
import com.redstoner.modules.datamanager.DataManager;
|
||||
|
||||
@Version(major = 3, minor = 1, revision = 8, compatible = 3)
|
||||
import net.nemez.chatapi.click.Message;
|
||||
|
||||
@Commands(CommandHolderType.File)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Socialspy implements CoreModule
|
||||
{
|
||||
@Override
|
||||
public void postEnable()
|
||||
{
|
||||
CommandManager.registerCommand(this.getClass().getResourceAsStream("Socialspy.cmd"), this, Main.plugin);
|
||||
}
|
||||
|
||||
@Command(hook = "config_prefix_default")
|
||||
public boolean prefixDefault(CommandSender sender)
|
||||
{
|
||||
@@ -39,7 +37,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "config_prefix")
|
||||
public boolean prefix(CommandSender sender, String prefix)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Set your prefix to: " + prefix);
|
||||
getLogger().message(sender, "Set your prefix to: " + prefix);
|
||||
DataManager.setData(sender, "prefix", prefix);
|
||||
return true;
|
||||
}
|
||||
@@ -53,7 +51,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "config_format")
|
||||
public boolean configFormat(CommandSender sender, String format)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Set your format to: " + format);
|
||||
getLogger().message(sender, "Set your format to: " + format);
|
||||
DataManager.setData(sender, "format", format);
|
||||
return true;
|
||||
}
|
||||
@@ -61,7 +59,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "stripcolor_on")
|
||||
public boolean stripcolorOn(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Enabled stripping colors!");
|
||||
getLogger().message(sender, "Enabled stripping colors!");
|
||||
DataManager.setData(sender, "stripcolor", "on");
|
||||
return true;
|
||||
}
|
||||
@@ -69,7 +67,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "stripcolor_off")
|
||||
public boolean stripcolorOff(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Disabled stripping colors!");
|
||||
getLogger().message(sender, "Disabled stripping colors!");
|
||||
DataManager.setData(sender, "stripcolor", "off");
|
||||
return true;
|
||||
}
|
||||
@@ -77,7 +75,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "stripcolor_partial")
|
||||
public boolean stripcolor_partial(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Disabled stripping colors!");
|
||||
getLogger().message(sender, "Disabled stripping colors!");
|
||||
DataManager.setData(sender, "stripcolor", "partial");
|
||||
return true;
|
||||
}
|
||||
@@ -86,7 +84,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean stripcolor(CommandSender sender)
|
||||
{
|
||||
boolean b = DataManager.getOrDefault(sender, "stripcolor", "on").equals("on");
|
||||
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " stripping colors!");
|
||||
getLogger().message(sender, (b ? "Disabled" : "Enabled") + " stripping colors!");
|
||||
DataManager.setData(sender, "stripcolor", !b);
|
||||
return true;
|
||||
}
|
||||
@@ -94,7 +92,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "on")
|
||||
public boolean spyOn(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Enabled socialspy!");
|
||||
getLogger().message(sender, "Enabled socialspy!");
|
||||
DataManager.setData(sender, "enabled", true);
|
||||
return true;
|
||||
}
|
||||
@@ -102,7 +100,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "off")
|
||||
public boolean spyOff(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Disabled socialspy!");
|
||||
getLogger().message(sender, "Disabled socialspy!");
|
||||
DataManager.setData(sender, "enabled", false);
|
||||
return true;
|
||||
}
|
||||
@@ -111,7 +109,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean spyToggle(CommandSender sender)
|
||||
{
|
||||
boolean b = (boolean) DataManager.getOrDefault(sender, "enabled", false);
|
||||
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " socialspy!");
|
||||
getLogger().message(sender, (b ? "Disabled" : "Enabled") + " socialspy!");
|
||||
DataManager.setData(sender, "enabled", !b);
|
||||
return true;
|
||||
}
|
||||
@@ -119,32 +117,30 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "format_help")
|
||||
public boolean formatInfo(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
Utils.sendMessage(sender, "", " Format placeholders:");
|
||||
Utils.sendMessage(sender, "", " &c%s&eender &7(display name) | &c%S&eender &7(real name)", '&');
|
||||
Utils.sendMessage(sender, "", " &c%t&earget &7(display name) | &c%T&earget &7(real name)", '&');
|
||||
Utils.sendMessage(sender, "", " &c%p&erefix &7(see prefix option)", '&');
|
||||
Utils.sendMessage(sender, "", " &c%m&eessage", '&');
|
||||
Utils.sendMessage(sender, "", " &c%c&eommand", '&');
|
||||
Utils.sendMessage(sender, "", " Any other text will be put as literal text. Use %% to escape any %.", '&');
|
||||
Utils.sendMessage(sender, "", " The default format is: §e" + getDefaultFormat());
|
||||
Utils.sendMessage(sender, "", " The default prefix is: §e" + getDefaultPrefix());
|
||||
getLogger().message(sender,
|
||||
new String[] {" Format placeholders:", " &c%s&eender &7(display name) | &c%S&eender &7(real name)",
|
||||
" &c%t&earget &7(display name) | &c%T&earget &7(real name)",
|
||||
" &c%p&erefix &7(see prefix option)", " &c%m&eessage", " &c%c&eommand",
|
||||
" Any other text will be put as literal text. Use %% to escape any %.",
|
||||
" The default format is: §e" + getDefaultFormat(),
|
||||
" The default prefix is: §e" + getDefaultPrefix()});
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "commands_list")
|
||||
public boolean commands_list(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
if (commands == null || commands.size() == 0)
|
||||
Utils.sendErrorMessage(sender, "", "You are not listening to any commands!");
|
||||
message.add("You are not listening to any commands!");
|
||||
else
|
||||
{
|
||||
Utils.sendMessage(sender, "", "You are listening to the following " + commands.size() + " commands:");
|
||||
Utils.sendMessage(sender, "", Arrays.toString(commands.toArray()).replace(", /", "&7, &e/")
|
||||
.replace("[", "[&e").replace("]", "&7]"), '&');
|
||||
message.add("You are listening to the following " + commands.size() + " commands:");
|
||||
message.add(Arrays.toString(commands.toArray()).replace(", /", "&7, &e/").replace("[", "[&e").replace("]",
|
||||
"&7]"));
|
||||
}
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -164,7 +160,7 @@ public class Socialspy implements CoreModule
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
commands.add(command);
|
||||
DataManager.setData(sender, "commands", commands);
|
||||
Utils.sendMessage(sender, null, "You are now spying on &e" + command, '&');
|
||||
getLogger().message(sender, "You are now spying on &e" + command);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -174,7 +170,7 @@ public class Socialspy implements CoreModule
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
commands.remove(command);
|
||||
DataManager.setData(sender, "commands", commands);
|
||||
Utils.sendMessage(sender, null, "You are no longer spying on &e" + command, '&');
|
||||
getLogger().message(sender, "You are no longer spying on &e" + command);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -204,7 +200,11 @@ public class Socialspy implements CoreModule
|
||||
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||
.contains(command))
|
||||
if (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
{
|
||||
Message m = new Message(p, null);
|
||||
m.appendText(formatMessage(p, sender, target, message, command));
|
||||
m.send();
|
||||
}
|
||||
}
|
||||
else
|
||||
DataManager.setData(sender, "enabled", false);
|
||||
@@ -237,7 +237,11 @@ public class Socialspy implements CoreModule
|
||||
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||
.contains(command))
|
||||
if (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
{
|
||||
Message m = new Message(p, null);
|
||||
m.appendText(formatMessage(p, sender, target, message, command));
|
||||
m.send();
|
||||
}
|
||||
}
|
||||
else
|
||||
DataManager.setData(sender, "enabled", false);
|
||||
@@ -340,24 +344,4 @@ public class Socialspy implements CoreModule
|
||||
DataManager.migrateAll("Message");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "test")
|
||||
public boolean test(CommandSender sender) throws InterruptedException
|
||||
{
|
||||
DataManager.setData(sender, "test", "&aTest1");
|
||||
Thread.sleep(1);
|
||||
Utils.sendMessage(sender, null,
|
||||
"Wrote \"Test1\", got " + DataManager.getOrDefault(sender, "test", "&4fallback"), '&');
|
||||
DataManager.setData(sender, "test", "&aTest2");
|
||||
Thread.sleep(1);
|
||||
Utils.sendMessage(sender, null,
|
||||
"Wrote \"Test2\", got " + DataManager.getOrDefault(sender, "test", "&4fallback"), '&');
|
||||
DataManager.setData(sender, "test", "&4DATA");
|
||||
Thread.sleep(1);
|
||||
DataManager.removeData(sender, "test");
|
||||
Thread.sleep(1);
|
||||
Utils.sendMessage(sender, null, "Removed data, got " + DataManager.getOrDefault(sender, "test", "&anothing"),
|
||||
'&');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.redstoner.modules.tag;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -11,13 +12,15 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.JsonManager;
|
||||
import com.redstoner.misc.Main;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 0, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Tag implements Module
|
||||
{
|
||||
private File tagLocation = new File(Main.plugin.getDataFolder(), "tag.json");
|
||||
@@ -45,10 +48,9 @@ public class Tag implements Module
|
||||
OfflinePlayer player = Bukkit.getOfflinePlayer(name);
|
||||
if (player == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player doesn't exist!");
|
||||
getLogger().message(sender, true, "That player doesn't exist!");
|
||||
return true;
|
||||
}
|
||||
Utils.sendModuleHeader(sender);
|
||||
UUID uuid = player.getUniqueId();
|
||||
JSONArray tagArray;
|
||||
if (tags.containsKey(uuid.toString()))
|
||||
@@ -58,7 +60,7 @@ public class Tag implements Module
|
||||
tagArray.add(tag);
|
||||
if (!tags.containsKey(uuid.toString()))
|
||||
tags.put(uuid.toString(), tagArray);
|
||||
Utils.sendMessage(sender, null, "Successfully added note &e" + tag + " &7to player &e" + name + "&7!", '&');
|
||||
getLogger().message(sender, "Successfully added note &e" + tag + " &7to player &e" + name + "&7!");
|
||||
saveTags();
|
||||
return true;
|
||||
}
|
||||
@@ -69,36 +71,36 @@ public class Tag implements Module
|
||||
{
|
||||
if (id < 1)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The ID you entered is too small, it must be at least 1!");
|
||||
getLogger().message(sender, true, "The ID you entered is too small, it must be at least 1!");
|
||||
return true;
|
||||
}
|
||||
OfflinePlayer player = Bukkit.getOfflinePlayer(name);
|
||||
if (player == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player doesn't exist!");
|
||||
getLogger().message(sender, true, "That player doesn't exist!");
|
||||
return true;
|
||||
}
|
||||
UUID uuid = player.getUniqueId();
|
||||
if (!tags.containsKey(uuid.toString()))
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&eThere are no notes about that player.", '&');
|
||||
getLogger().message(sender, true, "There are no notes about that player.");
|
||||
return true;
|
||||
}
|
||||
JSONArray tagArray = (JSONArray) tags.get(uuid.toString());
|
||||
int size = tagArray.size();
|
||||
if (size == 0)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null,
|
||||
"Empty entry found! You might consider running a database cleanup, contact an admin to do this.");
|
||||
Utils.log("Found empty tag entry. Database cleanup is recommended.");
|
||||
getLogger().message(sender, true, "There are no notes about that player.");
|
||||
tags.remove(uuid.toString());
|
||||
saveTags();
|
||||
return true;
|
||||
}
|
||||
if (id > size)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "The number you entered is too big! It must be at most " + size + "!");
|
||||
getLogger().message(sender, true, "The number you entered is too big! It must be at most " + size + "!");
|
||||
return true;
|
||||
}
|
||||
Utils.sendMessage(sender, null, "Successfully removed note: &e" + tagArray.remove(id - 1), '&');
|
||||
getLogger().message(sender, "Successfully removed note: &e" + tagArray.remove(id - 1));
|
||||
if (tagArray.size() == 0)
|
||||
tags.remove(uuid.toString());
|
||||
saveTags();
|
||||
@@ -112,27 +114,28 @@ public class Tag implements Module
|
||||
OfflinePlayer player = Bukkit.getOfflinePlayer(name);
|
||||
if (player == null)
|
||||
{
|
||||
Utils.sendErrorMessage(sender, null, "That player doesn't exist!");
|
||||
getLogger().message(sender, true, "That player doesn't exist!");
|
||||
return true;
|
||||
}
|
||||
Utils.sendModuleHeader(sender);
|
||||
UUID uuid = player.getUniqueId();
|
||||
if (!tags.containsKey(uuid.toString()))
|
||||
{
|
||||
Utils.sendMessage(sender, "", "&eThere are no notes about that player.", '&');
|
||||
getLogger().message(sender, "There are no notes about that player.");
|
||||
return true;
|
||||
}
|
||||
JSONArray tagArray = (JSONArray) tags.get(uuid.toString());
|
||||
int size = tagArray.size();
|
||||
Utils.sendMessage(sender, "", "There are " + size + " notes about this player:");
|
||||
if (size == 0)
|
||||
{
|
||||
tags.remove(uuid.toString());
|
||||
saveTags();
|
||||
return true;
|
||||
}
|
||||
ArrayList<String> message = new ArrayList<String>();
|
||||
message.add("There are &e" + size + "&7 notes about this player:");
|
||||
for (int i = 0; i < size; i++)
|
||||
Utils.sendMessage(sender, "", "&a" + (i + 1) + "&8: &e" + tagArray.get(i), '&');
|
||||
message.add("&a" + (i + 1) + "&8: &e" + tagArray.get(i));
|
||||
getLogger().message(sender, message.toArray(new String[] {}));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,12 +16,14 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.redstoner.annotations.AutoRegisterListener;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Commands(CommandHolderType.String)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 2, minor = 0, revision = 3, compatible = 2)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Vanish implements Module, Listener
|
||||
{
|
||||
private ArrayList<UUID> vanished = new ArrayList<UUID>();
|
||||
@@ -34,13 +36,13 @@ public class Vanish implements Module, Listener
|
||||
if (vanished.contains(uid))
|
||||
{
|
||||
vanished.remove(uid);
|
||||
Utils.sendMessage(sender, null, "You are no longer vanished!");
|
||||
getLogger().message(sender, "You are no longer vanished!");
|
||||
unvanishPlayer((Player) sender);
|
||||
}
|
||||
else
|
||||
{
|
||||
vanished.add(uid);
|
||||
Utils.sendMessage(sender, null, "You are now vanished!");
|
||||
getLogger().message(sender, "You are now vanished!");
|
||||
vanishPlayer((Player) sender);
|
||||
}
|
||||
return true;
|
||||
@@ -51,12 +53,12 @@ public class Vanish implements Module, Listener
|
||||
{
|
||||
UUID uid = ((Player) sender).getUniqueId();
|
||||
if (vanished.contains(uid))
|
||||
Utils.sendMessage(sender, null,
|
||||
getLogger().message(sender,
|
||||
"You were already vanished, however we refreshed the vanish for you just to be sure!");
|
||||
else
|
||||
{
|
||||
vanished.add(uid);
|
||||
Utils.sendMessage(sender, null, "You are now vanished!");
|
||||
getLogger().message(sender, "You are now vanished!");
|
||||
}
|
||||
vanishPlayer((Player) sender);
|
||||
return true;
|
||||
@@ -67,12 +69,12 @@ public class Vanish implements Module, Listener
|
||||
{
|
||||
UUID uid = ((Player) sender).getUniqueId();
|
||||
if (!vanished.contains(uid))
|
||||
Utils.sendMessage(sender, null,
|
||||
getLogger().message(sender,
|
||||
"You were not vanished, however we refreshed the vanish for you just to be sure!");
|
||||
else
|
||||
{
|
||||
vanished.remove(uid);
|
||||
Utils.sendMessage(sender, null, "You are no longer vanished!");
|
||||
getLogger().message(sender, "You are no longer vanished!");
|
||||
}
|
||||
unvanishPlayer((Player) sender);
|
||||
return true;
|
||||
@@ -84,7 +86,7 @@ public class Vanish implements Module, Listener
|
||||
Player player = Bukkit.getPlayer(name);
|
||||
if (player == null)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "&cPlayer &6" + name + " &ccould not be found!", '&');
|
||||
getLogger().message(sender, "&cPlayer &6" + name + " &ccould not be found!");
|
||||
return true;
|
||||
}
|
||||
UUID uid = player.getUniqueId();
|
||||
@@ -93,14 +95,14 @@ public class Vanish implements Module, Listener
|
||||
if (vanished.contains(uid))
|
||||
{
|
||||
vanished.remove(uid);
|
||||
Utils.sendMessage(sender, null, "Successfully unvanished player &6" + name, '&');
|
||||
Utils.sendMessage(player, null, "You are no longer vanished!");
|
||||
getLogger().message(sender, "Successfully unvanished &e" + player.getDisplayName());
|
||||
getLogger().message(player, "You are no longer vanished!");
|
||||
}
|
||||
else
|
||||
{
|
||||
vanished.add(uid);
|
||||
Utils.sendMessage(sender, null, "Successfully vanished player &6" + name, '&');
|
||||
Utils.sendMessage(player, null, "You are now vanished!");
|
||||
getLogger().message(sender, "Successfully vanished &e" + player.getDisplayName());
|
||||
getLogger().message(player, "You are now vanished!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -109,8 +111,8 @@ public class Vanish implements Module, Listener
|
||||
if (entry.getValue().contains(uid))
|
||||
{
|
||||
entry.getValue().remove(uid);
|
||||
Utils.sendMessage(sender, null, "Successfully unvanished player &6" + name, '&');
|
||||
Utils.sendMessage(player, null, "You are no longer vanished!");
|
||||
getLogger().message(sender, "Successfully unvanished &e" + player.getDisplayName());
|
||||
getLogger().message(player, "You are no longer vanished!");
|
||||
if (entry.getValue().size() == 0)
|
||||
vanishOthers.remove(entry.getKey());
|
||||
return true;
|
||||
@@ -122,8 +124,8 @@ public class Vanish implements Module, Listener
|
||||
toAddTo = new ArrayList<UUID>();
|
||||
toAddTo.add(uid);
|
||||
vanishOthers.put(uuid, toAddTo);
|
||||
Utils.sendMessage(sender, null, "Successfully vanished player &6" + name, '&');
|
||||
Utils.sendMessage(player, null, "You are now vanished!");
|
||||
getLogger().message(sender, "Successfully vanished &e" + player.getDisplayName());
|
||||
getLogger().message(player, "You are now vanished!");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,11 +4,14 @@ 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.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 2, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Warn implements Module
|
||||
{
|
||||
@Command(hook = "warn")
|
||||
|
||||
@@ -6,14 +6,15 @@ import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.nemez.cmdmgr.Command;
|
||||
import com.nemez.cmdmgr.Command.AsyncType;
|
||||
import com.redstoner.annotations.Commands;
|
||||
import com.redstoner.annotations.Version;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.mysql.Config;
|
||||
import com.redstoner.misc.mysql.MysqlHandler;
|
||||
import com.redstoner.misc.mysql.elements.ConstraintOperator;
|
||||
@@ -22,7 +23,8 @@ import com.redstoner.misc.mysql.elements.MysqlDatabase;
|
||||
import com.redstoner.misc.mysql.elements.MysqlTable;
|
||||
import com.redstoner.modules.Module;
|
||||
|
||||
@Version(major = 2, minor = 0, revision = 4, compatible = 2)
|
||||
@Commands(CommandHolderType.String)
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class WebToken implements Module
|
||||
{
|
||||
private static final int TOKEN_LENGTH = 6;
|
||||
@@ -45,7 +47,7 @@ public class WebToken implements Module
|
||||
}
|
||||
if (config == null || !config.containsKey("database") || !config.containsKey("table"))
|
||||
{
|
||||
Utils.error("Could not load the WebToken config file, disabling!");
|
||||
getLogger().error("Could not load the WebToken config file, disabling!");
|
||||
config.put("database", "redstoner");
|
||||
config.put("table", "webtoken");
|
||||
return false;
|
||||
@@ -57,7 +59,7 @@ public class WebToken implements Module
|
||||
}
|
||||
catch (NullPointerException e)
|
||||
{
|
||||
Utils.error("Could not use the WebToken config, disabling!");
|
||||
getLogger().error("Could not use the WebToken config, aborting!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -116,11 +118,9 @@ public class WebToken implements Module
|
||||
|
||||
private void printToken(Player player, String email, String token)
|
||||
{
|
||||
Utils.sendModuleHeader(player);
|
||||
Utils.sendMessage(player, "", "§aEmail: " + email);
|
||||
Utils.sendMessage(player, "", "§aToken: " + token);
|
||||
Utils.sendMessage(player, "", "§cIMPORTANT: never share the token with anyone!");
|
||||
Utils.sendMessage(player, "", "§cIt could be used to claim your website account!");
|
||||
String[] message = new String[] {"&aEmail: " + email, "&aToken: " + token,
|
||||
"&cIMPORTANT: never share the token with anyone!", "&cIt could be used to claim your website account!"};
|
||||
getLogger().message(player, message);
|
||||
}
|
||||
|
||||
private String generateToken()
|
||||
@@ -142,7 +142,7 @@ public class WebToken implements Module
|
||||
return token;
|
||||
}
|
||||
|
||||
@Command(hook = "token")
|
||||
@Command(hook = "token", async = AsyncType.ALWAYS)
|
||||
public void token(CommandSender sender)
|
||||
{
|
||||
Player player = (Player) sender;
|
||||
@@ -152,8 +152,7 @@ public class WebToken implements Module
|
||||
String token = query("token", uuid);
|
||||
if (token == null)
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "§cYou don't have a token yet! Use " + ChatColor.YELLOW
|
||||
+ "/gettoken <email>" + ChatColor.RED + " to get one.");
|
||||
getLogger().message(player, true, "You don't have a token yet! Use &e/gettoken <email>&7 to get one.");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -163,12 +162,30 @@ public class WebToken implements Module
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "Error getting your token, please contact an admin!");
|
||||
e.printStackTrace();
|
||||
try
|
||||
{
|
||||
Thread.sleep(100);
|
||||
String token = query("token", uuid);
|
||||
if (token == null)
|
||||
{
|
||||
getLogger().message(player, true,
|
||||
"You don't have a token yet! Use &e/gettoken <email>&7 to get one.");
|
||||
}
|
||||
else
|
||||
{
|
||||
String email = query("email", uuid);
|
||||
printToken(player, email, token);
|
||||
}
|
||||
}
|
||||
catch (Exception e2)
|
||||
{
|
||||
getLogger().message(player, true, "Error getting your token, please contact an admin!");
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Command(hook = "gettoken")
|
||||
@Command(hook = "gettoken", async = AsyncType.ALWAYS)
|
||||
public void token(CommandSender sender, String email)
|
||||
{
|
||||
Player player = (Player) sender;
|
||||
@@ -181,29 +198,28 @@ public class WebToken implements Module
|
||||
String id = getNextId();
|
||||
table.delete(new MysqlConstraint("uuid", ConstraintOperator.EQUAL, uuid));
|
||||
table.insert(id, uuid, token, email);
|
||||
player.sendMessage(ChatColor.GREEN + "Token generated!");
|
||||
printToken(player, email, token);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.sleep(100);
|
||||
String id = getNextId();
|
||||
table.delete(new MysqlConstraint("uuid", ConstraintOperator.EQUAL, uuid));
|
||||
table.insert(id, uuid, token, email);
|
||||
player.sendMessage(ChatColor.GREEN + "Token generated!");
|
||||
printToken(player, email, token);
|
||||
}
|
||||
catch (Exception e2)
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "Error getting your token, please contact an admin!");
|
||||
getLogger().message(player, true, "Error getting your token, please contact an admin!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.sendErrorMessage(player, null, "Hmm... That doesn't look like a valid email!");
|
||||
getLogger().message(player, true, "Hmm... That doesn't look like a valid email!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user