mirror of
https://github.com/kaboomserver/extras.git
synced 2025-02-11 03:29:50 +00:00
Command changes
This commit is contained in:
parent
dd9d5bdc50
commit
4dc64ae1d9
8 changed files with 99 additions and 121 deletions
|
@ -9,8 +9,6 @@ import org.bukkit.Material;
|
|||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
/*import com.comphenix.protocol.ProtocolLibrary;*/
|
||||
|
||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||
|
||||
public class Main extends JavaPlugin {
|
||||
|
@ -613,7 +611,6 @@ public class Main extends JavaPlugin {
|
|||
this.getServer().getPluginManager().registerEvents(new PlayerConnection(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new PlayerDamage(), this);
|
||||
this.getServer().getPluginManager().registerEvents(new PlayerInteract(this), this);
|
||||
/*ProtocolLibrary.getProtocolManager().addPacketListener(new PlayerInventory(this));*/
|
||||
|
||||
/* Server-related modules */
|
||||
new AutosaveCheck().runTaskTimerAsynchronously(this, 0, 20);
|
||||
|
|
|
@ -2,11 +2,17 @@ package pw.kaboom.extras;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
class PlayerCommand implements Listener {
|
||||
private Main main;
|
||||
public PlayerCommand(Main main) {
|
||||
|
@ -22,7 +28,7 @@ class PlayerCommand implements Listener {
|
|||
|
||||
main.commandMillisList.put(playerUuid, System.currentTimeMillis());
|
||||
|
||||
if (millisDifference < 400) {
|
||||
if (millisDifference < 200) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
@ -50,6 +56,32 @@ class PlayerCommand implements Listener {
|
|||
|
||||
event.setMessage(stringBuilder.toString());
|
||||
}
|
||||
} else if (("/bukkit:reload".equals(arr[0].toLowerCase()) ||
|
||||
"/bukkit:rl".equals(arr[0].toLowerCase()) ||
|
||||
"/reload".equals(arr[0].toLowerCase()) ||
|
||||
"/rl".equals(arr[0].toLowerCase())) &&
|
||||
event.getPlayer().hasPermission("bukkit.command.reload")) {
|
||||
if (arr.length >= 2 &&
|
||||
"confirm".equals(arr[1].toLowerCase())) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getPlayer(), ChatColor.RED + "Please note that this command is not supported and may cause issues when using some plugins.");
|
||||
Command.broadcastCommandMessage(event.getPlayer(), ChatColor.RED + "If you encounter any issues please use the /stop command to restart your server.");
|
||||
Command.broadcastCommandMessage(event.getPlayer(), ChatColor.GREEN + "Reload complete.");
|
||||
}
|
||||
} else if (("/restart".equals(arr[0].toLowerCase()) ||
|
||||
"/spigot:restart".equals(arr[0].toLowerCase())) &&
|
||||
event.getPlayer().hasPermission("bukkit.command.restart")) {
|
||||
event.setCancelled(true);
|
||||
} else if (("/minecraft:save-off".equals(arr[0].toLowerCase()) ||
|
||||
"/save-off".equals(arr[0].toLowerCase())) &&
|
||||
event.getPlayer().hasPermission("minecraft.command.save.disable")) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getPlayer(), "Automatic saving is now disabled");
|
||||
} else if (("/minecraft:stop".equals(arr[0].toLowerCase()) ||
|
||||
"/stop".equals(arr[0].toLowerCase())) &&
|
||||
event.getPlayer().hasPermission("minecraft.command.stop")) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getPlayer(), "Stopping the server");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,10 @@ import java.util.UUID;
|
|||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
@ -20,18 +21,19 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
|||
import org.bukkit.event.player.PlayerKickEvent;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.destroystokyo.paper.event.player.PlayerConnectionCloseEvent;
|
||||
|
||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||
import com.destroystokyo.paper.profile.ProfileProperty;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import org.bukkit.event.world.WorldSaveEvent;
|
||||
|
||||
class PlayerConnection implements Listener {
|
||||
private Main main;
|
||||
public PlayerConnection(Main main) {
|
||||
|
@ -40,6 +42,9 @@ class PlayerConnection implements Listener {
|
|||
|
||||
@EventHandler
|
||||
void onAsyncPlayerPreLogin(AsyncPlayerPreLoginEvent event) {
|
||||
main.commandMillisList.put(event.getUniqueId(), System.currentTimeMillis());
|
||||
main.interactMillisList.put(event.getUniqueId(), System.currentTimeMillis());
|
||||
|
||||
try {
|
||||
final URL nameUrl = new URL("https://api.mojang.com/users/profiles/minecraft/" + event.getName());
|
||||
final HttpsURLConnection nameConnection = (HttpsURLConnection) nameUrl.openConnection();
|
||||
|
@ -74,6 +79,30 @@ class PlayerConnection implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
void onPlayerConnectionClose(final PlayerConnectionCloseEvent event) {
|
||||
main.commandMillisList.remove(event.getPlayerUniqueId());
|
||||
main.interactMillisList.remove(event.getPlayerUniqueId());
|
||||
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
for (final World world : Bukkit.getWorlds()) {
|
||||
for (final Chunk chunk : world.getLoadedChunks()) {
|
||||
try {
|
||||
chunk.getTileEntities();
|
||||
} catch (Exception e) {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
world.regenerateChunk(chunk.getX(), chunk.getZ());
|
||||
}
|
||||
}.runTask(main);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTaskAsynchronously(main);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
void onPlayerJoin(PlayerJoinEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
|
@ -115,8 +144,6 @@ class PlayerConnection implements Listener {
|
|||
|
||||
event.allow();
|
||||
player.setOp(true);
|
||||
main.commandMillisList.put(player.getUniqueId(), System.currentTimeMillis());
|
||||
main.interactMillisList.put(player.getUniqueId(), System.currentTimeMillis());
|
||||
try {
|
||||
player.setPlayerProfile(main.playerProfile.get(player.getName()));
|
||||
} catch (Exception exception) {
|
||||
|
@ -125,47 +152,7 @@ class PlayerConnection implements Listener {
|
|||
}
|
||||
|
||||
@EventHandler
|
||||
void onPlayerQuit(PlayerQuitEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
|
||||
main.commandMillisList.remove(player.getUniqueId());
|
||||
main.interactMillisList.remove(player.getUniqueId());
|
||||
|
||||
final Location location = player.getLocation();
|
||||
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
for (final Chunk chunk : location.getWorld().getLoadedChunks()) {
|
||||
try {
|
||||
chunk.getTileEntities();
|
||||
} catch (Exception e) {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
location.getWorld().regenerateChunk(chunk.getX(), chunk.getZ());
|
||||
}
|
||||
}.runTask(main);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTaskAsynchronously(main);
|
||||
|
||||
/*final int chunkX = player.getLocation().getChunk().getX();
|
||||
final int chunkZ = player.getLocation().getChunk().getZ();
|
||||
final int radius = 4;
|
||||
|
||||
for (int x = chunkX - radius; x < chunkX + radius; x++) {
|
||||
for (int z = chunkZ - radius; z < chunkZ + radius; z++) {
|
||||
try {
|
||||
Chunk chunk = player.getLocation().getWorld().getChunkAtAsync(x, z).get();
|
||||
|
||||
try {
|
||||
chunk.getTileEntities();
|
||||
} catch (Exception e) {
|
||||
player.getLocation().getWorld().regenerateChunk(chunk.getX(), chunk.getZ());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
}*/
|
||||
void onWorldSave(WorldSaveEvent event) {
|
||||
System.out.println("1");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ class PlayerInteract implements Listener {
|
|||
|
||||
main.interactMillisList.put(playerUuid, System.currentTimeMillis());
|
||||
|
||||
if (millisDifference < 200) {
|
||||
if (millisDifference < 150) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*package pw.kaboom.extras;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.ListenerPriority;
|
||||
import com.comphenix.protocol.events.PacketAdapter;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.events.PacketEvent;
|
||||
|
||||
class PlayerInventory extends PacketAdapter {
|
||||
private Main main;
|
||||
public PlayerInventory(Main main) {
|
||||
/*super(main, ListenerPriority.HIGH, PacketType.Play.Server.SET_SLOT, PacketType.Play.Server.WINDOW_ITEMS);
|
||||
super(main, ListenerPriority.HIGH, PacketType.Play.Server.ENTITY_METADATA);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketSending(PacketEvent event) {
|
||||
try {
|
||||
LivingEntity entity = (LivingEntity) event.getPacket().getEntityModifier(event).read(0);
|
||||
entity.getEquipment().getArmorContents();
|
||||
} catch (Exception exception) {
|
||||
LivingEntity entity = (LivingEntity) event.getPacket().getEntityModifier(event).read(0);
|
||||
entity.getEquipment().setArmorContents(
|
||||
new ItemStack[] {null, null, null, null}
|
||||
);
|
||||
System.out.println("slot");
|
||||
}
|
||||
}
|
||||
|
||||
/*@Override
|
||||
public void onPacketSending(PacketEvent event) {
|
||||
if (event.getPacketType().equals(PacketType.Play.Server.SET_SLOT)) {
|
||||
try {
|
||||
event.getPacket().getItemModifier().read(0);
|
||||
} catch (Exception exception) {
|
||||
PacketContainer packet = event.getPacket();
|
||||
packet.getItemModifier().write(0, new ItemStack(Material.AIR));
|
||||
event.setPacket(packet);
|
||||
System.out.println("slot");
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
for (int i = 0; i < 50; i++) {
|
||||
event.getPacket().getItemListModifier().read(i);
|
||||
}
|
||||
} catch (Exception exception) {
|
||||
System.out.println("window1");
|
||||
PacketContainer packet = event.getPacket();
|
||||
for (int i = 0; i < 50; i++) {
|
||||
packet.getItemListModifier().write(i, null);
|
||||
}
|
||||
|
||||
event.setPacket(packet);
|
||||
System.out.println("window");
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
|
@ -7,10 +7,10 @@ import org.bukkit.scheduler.BukkitRunnable;
|
|||
|
||||
class AutosaveCheck extends BukkitRunnable {
|
||||
public void run() {
|
||||
for (final World world : Bukkit.getWorlds()) {
|
||||
/*for (final World world : Bukkit.getWorlds()) {
|
||||
if (world.isAutoSave() == false) {
|
||||
world.setAutoSave(true);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
package pw.kaboom.extras;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import org.bukkit.command.BlockCommandSender;
|
||||
import org.bukkit.command.Command;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
|
@ -41,6 +46,29 @@ class ServerCommand implements Listener {
|
|||
|
||||
event.setCommand(stringBuilder.toString());
|
||||
}
|
||||
} else if ("bukkit:reload".equals(arr[0].toLowerCase()) ||
|
||||
"bukkit:rl".equals(arr[0].toLowerCase()) ||
|
||||
"reload".equals(arr[0].toLowerCase()) ||
|
||||
"rl".equals(arr[0].toLowerCase())) {
|
||||
if (arr.length >= 2 &&
|
||||
"confirm".equals(arr[1].toLowerCase())) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getSender(), ChatColor.RED + "Please note that this command is not supported and may cause issues when using some plugins.");
|
||||
Command.broadcastCommandMessage(event.getSender(), ChatColor.RED + "If you encounter any issues please use the /stop command to restart your server.");
|
||||
Command.broadcastCommandMessage(event.getSender(), ChatColor.GREEN + "Reload complete.");
|
||||
}
|
||||
} else if ("restart".equals(arr[0].toLowerCase()) ||
|
||||
"spigot:restart".equals(arr[0].toLowerCase())) {
|
||||
event.setCancelled(true);
|
||||
} else if ("minecraft:save-off".equals(arr[0].toLowerCase()) ||
|
||||
"save-off".equals(arr[0].toLowerCase())) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getSender(), "Automatic saving is now disabled");
|
||||
} else if (("minecraft:stop".equals(arr[0].toLowerCase()) ||
|
||||
"stop".equals(arr[0].toLowerCase())) &&
|
||||
!(event.getSender() instanceof BlockCommandSender)) {
|
||||
event.setCancelled(true);
|
||||
Command.broadcastCommandMessage(event.getSender(), "Stopping the server");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ main: pw.kaboom.extras.Main
|
|||
description: Plugin that adds extra functionality to the server.
|
||||
api-version: 1.13
|
||||
version: master
|
||||
#depends: [ProtocolLib]
|
||||
|
||||
commands:
|
||||
clearchat:
|
||||
|
|
Loading…
Reference in a new issue