Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50efff2819 | ||
|
|
af325f9a62 |
No files matched your search
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>io.github.retrooper</groupId>
|
||||
<artifactId>packetevents</artifactId>
|
||||
<version>1.3.5.2</version>
|
||||
<version>1.3.6</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>packetevents</name>
|
||||
<properties>
|
||||
|
||||
@@ -9,8 +9,6 @@ import io.github.retrooper.packetevents.event.PacketListener;
|
||||
import io.github.retrooper.packetevents.event.impl.*;
|
||||
import io.github.retrooper.packetevents.event.manager.EventManager;
|
||||
import io.github.retrooper.packetevents.handler.NettyPacketHandler;
|
||||
import io.github.retrooper.packetevents.packet.Packet;
|
||||
import io.github.retrooper.packetevents.packet.PacketType;
|
||||
import io.github.retrooper.packetevents.packetwrappers.Sendable;
|
||||
import io.github.retrooper.packetevents.utils.NMSUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -19,6 +17,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
@@ -193,12 +192,7 @@ public final class PacketEvents implements PacketListener, Listener {
|
||||
* @param player
|
||||
*/
|
||||
public static void injectPlayer(final Player player) {
|
||||
final PlayerInjectEvent injectEvent = new PlayerInjectEvent(player);
|
||||
PacketEvents.getEventManager().callEvent(injectEvent);
|
||||
if (!injectEvent.isCancelled()) {
|
||||
PacketEvents.getEventManager().callEvent(new PostPlayerInjectEvent(player));
|
||||
NettyPacketHandler.injectPlayer(player);
|
||||
}
|
||||
NettyPacketHandler.injectPlayer(player);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,22 +201,9 @@ public final class PacketEvents implements PacketListener, Listener {
|
||||
* @param player
|
||||
*/
|
||||
public static void uninjectPlayer(final Player player) {
|
||||
final PlayerUninjectEvent uninjectEvent = new PlayerUninjectEvent(player);
|
||||
PacketEvents.getEventManager().callEvent(uninjectEvent);
|
||||
if(!uninjectEvent.isCancelled()) {
|
||||
NettyPacketHandler.uninjectPlayer(player);
|
||||
}
|
||||
NettyPacketHandler.uninjectPlayer(player);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether we have injected the player
|
||||
*
|
||||
* @param player
|
||||
* @return hasInjected
|
||||
*/
|
||||
public static boolean hasInjected(final Player player) {
|
||||
return NettyPacketHandler.hasInjected(player);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a wrapped sendable packet to a player
|
||||
@@ -262,10 +243,12 @@ public final class PacketEvents implements PacketListener, Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(final PlayerJoinEvent e) {
|
||||
if (!hasInjected(e.getPlayer())) {
|
||||
injectPlayer(e.getPlayer());
|
||||
injectPlayer(e.getPlayer());
|
||||
}
|
||||
|
||||
}
|
||||
@EventHandler
|
||||
public void onQuit(final PlayerQuitEvent e) {
|
||||
uninjectPlayer(e.getPlayer());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
||||
@@ -2,34 +2,32 @@ package io.github.retrooper.packetevents.handler;
|
||||
|
||||
import io.github.retrooper.packetevents.PacketEvents;
|
||||
import io.github.retrooper.packetevents.enums.ServerVersion;
|
||||
import io.github.retrooper.packetevents.event.impl.PacketReceiveEvent;
|
||||
import io.github.retrooper.packetevents.event.impl.PacketSendEvent;
|
||||
import io.github.retrooper.packetevents.event.impl.*;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
public class NettyPacketHandler {
|
||||
public static final String handlerName = "packet_handler";
|
||||
public static final String handlerName = "PacketListener";
|
||||
private static final ServerVersion version = PacketEvents.getServerVersion();
|
||||
|
||||
public static final HashSet<UUID> injectedSet = new HashSet<UUID>();
|
||||
|
||||
public static void injectPlayer(final Player player) {
|
||||
if (!hasInjected(player)) {
|
||||
final PlayerInjectEvent injectEvent = new PlayerInjectEvent(player);
|
||||
PacketEvents.getEventManager().callEvent(injectEvent);
|
||||
if (!injectEvent.isCancelled()) {
|
||||
if (version.isLowerThan(ServerVersion.v_1_8)) {
|
||||
NettyPacketHandler_7.injectPlayer(player);
|
||||
} else {
|
||||
NettyPacketHandler_8.injectPlayer(player);
|
||||
}
|
||||
injectedSet.add(player.getUniqueId());
|
||||
PacketEvents.getEventManager().callEvent(new PostPlayerInjectEvent(player));
|
||||
}
|
||||
}
|
||||
|
||||
public static Future<?> uninjectPlayer(final Player player) {
|
||||
if (hasInjected(player)) {
|
||||
injectedSet.remove(player.getUniqueId());
|
||||
final PlayerUninjectEvent uninjectEvent = new PlayerUninjectEvent(player);
|
||||
PacketEvents.getEventManager().callEvent(uninjectEvent);
|
||||
if (!uninjectEvent.isCancelled()) {
|
||||
if (version.isLowerThan(ServerVersion.v_1_8)) {
|
||||
return NettyPacketHandler_7.uninjectPlayer(player);
|
||||
} else {
|
||||
@@ -39,10 +37,6 @@ public class NettyPacketHandler {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean hasInjected(final Player player) {
|
||||
return injectedSet.contains(player.getUniqueId());
|
||||
}
|
||||
|
||||
public static Object read(final Player receiver, final Object packet) {
|
||||
final String packetName = packet.getClass().getSimpleName();
|
||||
final PacketSendEvent packetSendEvent = new PacketSendEvent(receiver, packetName, packet);
|
||||
|
||||
Reference in new issue
Block a user