Untitled
unknown
java
a year ago
2.8 kB
6
Indexable
package com.trexmine.guiapi.handlers; import com.trexmine.guiapi.gui.GuiManager; import com.trexmine.guiapi.packets.GuiPacketPlayInWindowClick; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ByteToMessageDecoder; import io.netty.util.AttributeKey; import lombok.RequiredArgsConstructor; import net.minecraft.server.v1_8_R3.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.MarkerManager; import java.io.IOException; import java.lang.reflect.Field; import java.util.List; import java.util.UUID; @RequiredArgsConstructor public final class ItemsDecoder extends ByteToMessageDecoder { private static final Logger LOGGER = LogManager.getLogger(); private final GuiManager guiManager; private final UUID playerUniqueId; protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> packetList) throws Exception { try { if (buffer.readableBytes() == 0) { return; } PacketDataSerializer serializer = new PacketDataSerializer(buffer); int id = serializer.e(); Packet<?> packet; if (id == 14) { byte windowId = serializer.getByte(serializer.readerIndex()); if (windowId == guiManager.getId(playerUniqueId)) { packet = new GuiPacketPlayInWindowClick(); } else { packet = new PacketPlayInWindowClick(); } } else { packet = ctx.channel() .attr(NetworkManager.c) .get() .a(EnumProtocolDirection.SERVERBOUND, id); } if (packet == null) { throw new IOException("Bad packet ID=" + id); } packet.a(serializer); if (serializer.readableBytes() > 0) { throw new IOException("Packet ID=" + id + " (" + packet.getClass().getSimpleName() + ") was larger than I expected, found " + serializer.readableBytes() + " bytes extra whilst reading packet " + id ); } packetList.add(packet); if (LOGGER.isDebugEnabled()) { LOGGER.debug(" IN: [{}:{}] {}", ctx.channel() .attr(NetworkManager.c) .get(), id, packet.getClass().getName() ); } } catch (Exception e) { System.out.println(e.getLocalizedMessage()); e.printStackTrace(); } } }
Editor is loading...
Leave a Comment