TabooLib/src/main/scala/io/izzel/taboolib/common/listener/ListenerCommand.java

109 lines
4.8 KiB
Java

package io.izzel.taboolib.common.listener;
import com.google.common.collect.Lists;
import io.izzel.taboolib.TabooLibAPI;
import io.izzel.taboolib.module.db.local.Local;
import io.izzel.taboolib.module.db.local.LocalPlayer;
import io.izzel.taboolib.module.hologram.Hologram;
import io.izzel.taboolib.module.hologram.THologram;
import io.izzel.taboolib.module.inject.TListener;
import io.izzel.taboolib.module.locale.TLocale;
import io.izzel.taboolib.module.locale.logger.TLogger;
import io.izzel.taboolib.module.tellraw.TellrawJson;
import io.izzel.taboolib.util.Files;
import io.izzel.taboolib.util.item.Items;
import io.izzel.taboolib.util.lite.Signs;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.server.ServerCommandEvent;
import java.io.File;
import java.util.Arrays;
/**
* @author sky
*/
@TListener
public class ListenerCommand implements Listener {
@EventHandler
public void cmd(PlayerCommandPreprocessEvent e) {
if (e.getMessage().equalsIgnoreCase("/tabooLib")) {
e.setCancelled(true);
TLocale.Display.sendTitle(e.getPlayer(), "§fTabooLib", "§7TabooLib Enabled.");
}
if (e.getMessage().equalsIgnoreCase("/tellrawTest") && e.getPlayer().hasPermission("*")) {
e.setCancelled(true);
TellrawJson.create()
.append("§8[§3§lTabooLib§8] §7TellrawJson Test: §f[")
.append(Items.getName(e.getPlayer().getItemInHand())).hoverItem(e.getPlayer().getItemInHand())
.append("§f]")
.send(e.getPlayer());
}
if (e.getMessage().equalsIgnoreCase("/fakesignTest") && e.getPlayer().hasPermission("*")) {
e.setCancelled(true);
Signs.fakeSign(e.getPlayer(), lines -> {
e.getPlayer().sendMessage("§8[§3§lTabooLib§8] §7FakeSign Lines: §f" + Arrays.toString(lines));
});
}
if (e.getMessage().equalsIgnoreCase("/hologramTest") && e.getPlayer().hasPermission("*")) {
e.setCancelled(true);
e.getPlayer().sendMessage("§8[§3§lTabooLib§8] §7Hologram Test.");
Location location = e.getPlayer().getEyeLocation().add(e.getPlayer().getLocation().getDirection());
Hologram hologram = THologram.create(location, "TabooLib", e.getPlayer())
.flash(Lists.newArrayList(
"§bT§fabooLib",
"§bTa§fbooLib",
"§bTab§fooLib",
"§bTabo§foLib",
"§bTaboo§fLib",
"§bTabooL§fib",
"§bTabooLi§fb",
"§bTabooLib",
"§bTabooLi§fb",
"§bTabooL§fib",
"§bTaboo§fLib",
"§bTabo§foLib",
"§bTab§fooLib",
"§bTa§fbooLib",
"§bT§fabooLib",
"§fTabooLib"
), 1).deleteOn(30);
}
}
@EventHandler(priority = EventPriority.LOWEST)
public void cmd(ServerCommandEvent e) {
if (e.getCommand().equalsIgnoreCase("saveFiles")) {
Local.saveFiles();
LocalPlayer.saveFiles();
TLogger.getGlobalLogger().info("Successfully.");
} else if (e.getCommand().equalsIgnoreCase("tDebug")) {
if (TabooLibAPI.isDebug()) {
TabooLibAPI.debug(false);
TLogger.getGlobalLogger().info("&cDisabled.");
} else {
TabooLibAPI.debug(true);
TLogger.getGlobalLogger().info("&aEnabled.");
}
} else if (e.getCommand().equalsIgnoreCase("libUpdate")) {
e.setCancelled(true);
e.getSender().sendMessage("§8[§fTabooLib§8] §cWARNING §7| §4Update TabooLib will force to restart your server. Please confirm this action by type §c/libupdateconfirm");
} else if (e.getCommand().equalsIgnoreCase("libUpdateConfirm") || e.getCommand().equalsIgnoreCase("libUpdate confirm")) {
e.getSender().sendMessage("§8[§fTabooLib§8] §7Downloading TabooLib file...");
Files.downloadFile("https://skymc.oss-cn-shanghai.aliyuncs.com/plugins/TabooLib.jar", new File("libs/TabooLib.jar"));
e.getSender().sendMessage("§8[§fTabooLib§8] §2Download completed, the server will restart in 3 secs");
try {
Thread.sleep(3000L);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
Bukkit.shutdown();
}
}
}