GoogleTan
Картошка :3
- 1,354
- 43
- 310
Есть у меня пакет:
Хендлер:
И эррор. Что делаю я не так?
Java:
public class MovingPacket implements IMessage, IMessageHandler<MovingPacket, MovingPacket>
{
private ByteBuf buf;
private int key;
public MovingPacket()
{
key = -1;
}
public MovingPacket(int keyIn)
{
key = keyIn;
}
@Override
public MovingPacket onMessage(MovingPacket message, MessageContext ctx)
{
if (ctx.side.isServer())
message.server(ctx.getServerHandler().playerEntity, key);
else
message.client(clientPlayer());
return null;
}
public void client(EntityPlayer player)
{
}
public void server(EntityPlayerMP player, int keyIn)
{
if(player.ridingEntity instanceof MinitrixEntity)
{
MinitrixEntity entity = (MinitrixEntity) player.ridingEntity;
switch (keyIn) {
case 3:
entity.motionX -= 1;
break;
case 4:
entity.motionZ -= 1;
break;
default:
entity.motionY += 1;
}
}
}
@Override
public final void fromBytes(ByteBuf buf)
{
try{
key = buf.readInt();
}catch (Exception e)
{
e.printStackTrace();
key = -1;
}
}
@Override
public final void toBytes(ByteBuf buf)
{
if(buf == null)
buf = Unpooled.buffer();
try {
buf.writeByte(key);
}catch (Exception e){
e.printStackTrace();
}
}
@SideOnly(Side.CLIENT)
private EntityPlayer clientPlayer()
{
return Minecraft.getMinecraft().thePlayer;
}
}
Java:
public final class NetworkHandler {
private static short id;
/**
* ChannelName - название канала. Канал должен быть один на весь мод, создавать дополнительные каналы не нужно!
*/
public static SimpleNetworkWrapper NETWORK;
public static void initNetwork()
{
NETWORK = NetworkRegistry.INSTANCE.newSimpleChannel("HYDRA");
register(MovingPacket.class, Side.SERVER);
}
/**
* Получение дистанции от определённой точки в мире.
* @param world - мир
* @param updateDistance - радиус в котором будет действовать пакет
* @return позиция
*/
public static void sendKeysToServer(MovingPacket packet) {
NETWORK.sendToServer(packet);
}
/**
* Регистрация пакета через один метод.
* @param packet - класс пакета
* @param side - сторона (клиент/сервер)
*/
private static void register(Class<? extends MovingPacket> packet, Side side) {
try {
NETWORK.registerMessage(packet.newInstance(), packet, id++, side);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- Краш-лог
-
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: java.lang.IndexOutOfBoundsException: readerIndex(0) + length(4) exceeds writerIndex(1): SlicedByteBuf(ridx: 0, widx: 1, cap: 1/1, unwrapped: UnpooledHeapByteBuf(ridx: 1, widx: 2, cap: 2/2))
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.buffer.AbstractByteBuf.readInt(AbstractByteBuf.java:611)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at com.hydramod.network.MovingPacket.fromBytes(MovingPacket.java:62)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
Краш-лог:
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: java.lang.IndexOutOfBoundsException: readerIndex(0) + length(4) exceeds writerIndex(1): SlicedByteBuf(ridx: 0, widx: 1, cap: 1/1, unwrapped: UnpooledHeapByteBuf(ridx: 1, widx: 2, cap: 2/2))
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.buffer.AbstractByteBuf.readInt(AbstractByteBuf.java:611)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at com.hydramod.network.MovingPacket.fromBytes(MovingPacket.java:62)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
[21:13:40] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
Последнее редактирование: