CloudburstMC / Nukkit

Cloudburst Nukkit - Nuclear-Powered Minecraft: Bedrock Edition Server Software
https://cloudburstmc.org
GNU General Public License v3.0
1.21k stars 420 forks source link

If a item has a long lore tag.Exception will appear in console #219

Closed zzz1999 closed 5 years ago

zzz1999 commented 6 years ago

Expected Behavior

Item item = Item.get(Item.DIAMOND_SWORD,0,1); item.setLore("some text","some some text","some some some some some some text",".......................",".....................","............“,”......................."); //Such like this //when you use this sword to click something.Exception will appear.

Actual Behavior

23:46:20 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 574 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.MobEquipmentPacket.decode(MobEquipmentPacket.java:26) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:26 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:26 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:27 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:27 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:27 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

23:46:28 [ALERT] java.lang.ArrayIndexOutOfBoundsException: 604 at cn.nukkit.utils.BinaryStream.getByte(BinaryStream.java:197) at cn.nukkit.utils.VarInt.read(VarInt.java:64) at cn.nukkit.utils.VarInt.readUnsignedVarInt(VarInt.java:109) at cn.nukkit.utils.BinaryStream.getUnsignedVarInt(BinaryStream.java:337) at cn.nukkit.utils.BinaryStream.getByteArray(BinaryStream.java:319) at cn.nukkit.utils.BinaryStream.getString(BinaryStream.java:328) at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:285) at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:118) at cn.nukkit.network.Network.processBatch(Network.java:154) at cn.nukkit.Player.handleDataPacket(Player.java:2022) at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) at cn.nukkit.network.Network.processInterfaces(Network.java:76) at cn.nukkit.Server.tick(Server.java:1074) at cn.nukkit.Server.tickProcessor(Server.java:848) at cn.nukkit.Server.start(Server.java:825) at cn.nukkit.Server.(Server.java:508) at cn.nukkit.Nukkit.main(Nukkit.java:99)

Steps to Reproduce

Debug information

Crashdump, Backtrace or Other Files

Checklist:

zzz1999 commented 6 years ago

@SupremeMortal @Creeperface01 Please look this issue.

SupremeMortal commented 5 years ago

Is this still an issue @zzz1999 ?

zzz1999 commented 5 years ago

No