orebfuscator/java/Orebfuscator/PlayerInjector.java
2015-01-28 23:18:39 +07:00

50 lines
1.7 KiB
Java

package Orebfuscator;
import io.netty.channel.Channel;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Queue;
import cpw.mods.fml.relauncher.ReflectionHelper;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
public class PlayerInjector {
@SuppressWarnings("unchecked")
public static void hookPlayer(EntityPlayerMP player)
{
/*
NetworkManager nm = player.playerNetServerHandler.netManager;
Queue queue = (Queue)Fields.getValue(nm, Fields.NetworkManager.getReceivedPacketsQueueIndex());
queue = new AsyncPacketQueue(player, queue);
Fields.setValue(nm, Fields.NetworkManager.getReceivedPacketsQueueIndex(), queue);
*/
/*
Queue queue = (Queue)Fields.getValue(nm, Fields.NetworkManager.getOutboundPacketsQueueIndex());
queue = new AsyncPacketQueue(player, queue);
Fields.setValue(nm, Fields.NetworkManager.getOutboundPacketsQueueIndex(), queue);
*/
NetworkManager nm = player.playerNetServerHandler.netManager;
Channel channel = (Channel)Fields.getValue(nm, Fields.NetworkManager.getChannelIndex());
channel = new ProxyChannel(channel, player);
Fields.setValue(nm, Fields.NetworkManager.getChannelIndex(), channel);
}
public static void cleanupPlayer(EntityPlayerMP player)
{
/*
NetworkManager nm = player.playerNetServerHandler.netManager;
((AsyncPacketQueue)Fields.getValue(nm, Fields.NetworkManager.getReceivedPacketsQueueIndex())).cleanup();
*/
/*
NetworkManager nm = player.playerNetServerHandler.netManager;
((AsyncPacketQueue)Fields.getValue(nm, Fields.NetworkManager.getOutboundPacketsQueueIndex())).cleanup();
*/
}
}