2018-05-13 15:28:53 +00:00
|
|
|
package pw.kaboom.commandspy;
|
|
|
|
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.ChatColor;
|
|
|
|
|
|
|
|
import org.bukkit.command.Command;
|
|
|
|
import org.bukkit.command.CommandExecutor;
|
|
|
|
import org.bukkit.command.CommandSender;
|
2019-09-22 02:44:11 +00:00
|
|
|
import org.bukkit.command.ConsoleCommandSender;
|
2018-05-13 15:28:53 +00:00
|
|
|
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.Listener;
|
2019-04-05 08:36:48 +00:00
|
|
|
import org.bukkit.event.block.SignChangeEvent;
|
2018-05-13 15:28:53 +00:00
|
|
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
|
|
|
|
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
|
|
|
|
public class Main extends JavaPlugin implements Listener {
|
|
|
|
public void onEnable() {
|
2019-09-28 00:37:11 +00:00
|
|
|
this.getCommand("commandspy").setExecutor(new CommandCommandSpy());
|
2018-05-13 15:28:53 +00:00
|
|
|
this.getServer().getPluginManager().registerEvents(this, this);
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
void onCommand(PlayerCommandPreprocessEvent event) {
|
2019-07-23 22:59:14 +00:00
|
|
|
final Player commandRunner = event.getPlayer();
|
|
|
|
|
2018-05-13 15:28:53 +00:00
|
|
|
for (Player messageTarget: Bukkit.getOnlinePlayers()) {
|
|
|
|
if (getConfig().contains(messageTarget.getUniqueId().toString())) {
|
2019-07-23 22:59:14 +00:00
|
|
|
final ChatColor color;
|
2019-04-05 08:36:48 +00:00
|
|
|
|
2018-05-13 15:28:53 +00:00
|
|
|
if (getConfig().contains(commandRunner.getUniqueId().toString())) {
|
2019-04-05 08:36:48 +00:00
|
|
|
color = ChatColor.GREEN;
|
|
|
|
} else {
|
|
|
|
color = ChatColor.RED;
|
|
|
|
}
|
|
|
|
|
|
|
|
messageTarget.sendMessage(color + "" + commandRunner.getName() + "" + color + ": " + event.getMessage());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
void onSignChange(SignChangeEvent event) {
|
2019-07-23 22:59:14 +00:00
|
|
|
final Player signPlacer = event.getPlayer();
|
|
|
|
|
2019-04-05 08:36:48 +00:00
|
|
|
for (Player messageTarget: Bukkit.getOnlinePlayers()) {
|
|
|
|
if (getConfig().contains(messageTarget.getUniqueId().toString())) {
|
2019-07-23 22:59:14 +00:00
|
|
|
final ChatColor color;
|
2019-04-05 08:36:48 +00:00
|
|
|
|
2019-07-23 22:59:14 +00:00
|
|
|
if (getConfig().contains(signPlacer.getUniqueId().toString())) {
|
2019-04-05 08:36:48 +00:00
|
|
|
color = ChatColor.GREEN;
|
2018-05-13 15:28:53 +00:00
|
|
|
} else {
|
2019-04-05 08:36:48 +00:00
|
|
|
color = ChatColor.RED;
|
|
|
|
}
|
|
|
|
|
2019-07-23 22:59:14 +00:00
|
|
|
messageTarget.sendMessage(color + "" + signPlacer.getName() + "" + color + " created a sign with contents:");
|
2019-04-05 08:36:48 +00:00
|
|
|
for (String line: event.getLines()) {
|
|
|
|
messageTarget.sendMessage(color + " " + line);
|
2018-05-13 15:28:53 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class CommandCommandSpy implements CommandExecutor {
|
|
|
|
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
2019-09-22 02:44:11 +00:00
|
|
|
if (sender instanceof ConsoleCommandSender) {
|
|
|
|
sender.sendMessage("Command has to be run by a player");
|
2018-05-13 15:28:53 +00:00
|
|
|
} else {
|
2019-09-22 02:44:11 +00:00
|
|
|
final Player player = (Player) sender;
|
2019-09-28 00:37:11 +00:00
|
|
|
final JavaPlugin plugin = JavaPlugin.getPlugin(Main.class);
|
2019-09-22 02:44:11 +00:00
|
|
|
|
2019-09-28 00:37:11 +00:00
|
|
|
if (plugin.getConfig().contains(player.getUniqueId().toString())) {
|
|
|
|
plugin.getConfig().set(player.getUniqueId().toString(), null);
|
|
|
|
plugin.saveConfig();
|
2019-09-22 02:44:11 +00:00
|
|
|
player.sendMessage("Successfully disabled CommandSpy");
|
|
|
|
} else {
|
2019-09-28 00:37:11 +00:00
|
|
|
plugin.getConfig().set(player.getUniqueId().toString(), true);
|
|
|
|
plugin.saveConfig();
|
2019-09-22 02:44:11 +00:00
|
|
|
player.sendMessage("Successfully enabled CommandSpy");
|
|
|
|
}
|
2018-05-13 15:28:53 +00:00
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|