Giter Site home page Giter Site logo

protocolize's Issues

Disconnect when items interact

Occurs occasionally Uncertain reproduction conditions
protocolize version: latest
bungeecord: 1.16.3
spigot: 1.8.8
client: 1.16.2

QQ截图20201012204210

Cancelling Sign Usage - Getting ItemStack in BlockPlacement

My objective
Block specific players from using signs. Ideally, they should not be able to edit signs at all, but still be able to place them.

Questions

  1. Will support be added for a SignChange packet or similar?
  2. If not, I will have to use the BlockPlacement packet. How can I retrieve the type of block from a BlockPlacement packet?

Current Conundrum
Right now, I am trying to work with BlockPlacement packet but I cannot seem to find a safe way to retrieve the type of block placed. BlockPlacement#getItemStack is deprecated, and it seems from the source that it is also non-functional.

Here is what I have so far.

public class SignInterceptor extends PacketAdapter<BlockPlacement> {

	public SignInterceptor() {
		super(Stream.UPSTREAM, BlockPlacement.class);
	}

	@Override
	public void receive(PacketReceiveEvent<BlockPlacement> evt) {
		if (!evt.getPacket().isCancelSend()) {
			if (false) { // check if placed block is a sign
				evt.getPacket().setCancelSend(true);
				evt.getPlayer().sendMessage(new TextComponent("You may not place signs!"));
			}
		}
	}
}

Last Notes

  • I have checked closed issues but none seem relevant to this one.
  • I was unable to find an issue format, so I apologise in advance in case I should have used a different formatting style.

Remove item from player inventory

Hi, im created inventory. But after clicking on an item in the player’s inventory, it disappears or gives a null response.
Exist item in player inventory:
image
Not exist:
image

Wasn't it solved??

I have tested the new version to know if the inventory click is fixed, but i can steal items also, i want to know if it wasn't in this update or whats the problem, I am in 1.8.9(Badlion), Server: spigot-1.8.8, Bungee: latest

Cannot retrieve 1.5.1 or 1.5.2 on Maven

I get the following error when trying to download 1.5.1-SNAPSHOT or 1.5.2-SNAPSHOT through Maven:

Failure to find de.exceptionflug:protocolize:pom:${revision} in http://mvn.exceptionflug.de/repository/exceptionflug-public/ was cached in the local repository, resolution will not be reattempted until the update interval of exceptionflug has elapsed or updates are forced

The problem probably comes from the ${revision} tag not getting replaced.

Previous versions, including 1.5.0-SNAPSHOT, work fine.

1.13-1.16 version client team packet modification exception

After modifying the prefix of team packet, the client works normally under 1.13 version, but above 1.13, the client json error occurs and there is no server console error
QQ截图20200802122820

code:

@Override
    public ParseResult<Team> tran(Stream stream, Team packet, ProxiedPlayer player) {
        if (packet.getPrefix() != null) {
            String s = packet.getPrefix().replace("喵喵喵", "meowwwwww");
            if (s != null) {
                if (s.length() > 16) s = s.substring(0, 16);
                packet.setPrefix(s);
                modfiy = true;
            }
        }
        if (modfiy) {
            return new ParseResult<>(packet, true, false);
        }
        return (ParseResult<Team>) NO_MODIFY;
    }

InventoryClick

When you cancel the inventory click event, you can steal items shifting or pressing key numbers, is there a way to cancel all of this, I'm using the last version of bungee and protocolize

support velocity proxy

As usage for the awesome Velocity proxy increases and many bigger networks start using it, it would be great and beneficial for protocolize to add support for the velocity proxy.

Force shutdown of the client results in an error.

Describe the bug
Force shutdown of legacy clients results in an error.

https://pastebin.com/rT9cnszx

To Reproduce
Steps to reproduce the behavior:

  1. join as a legacy client ( < 1.13)
  2. force shutdown client
  3. See error

Screenshots
If applicable, add screenshots to help explain your problem.
image

Proxy environment
Please let us know which Proxyserver and what version you are running.
Please also let us know which other plugins are running on your proxy server.

Waterfall 1.16.4
No plugins or Viaversion. (Same)

Minecraft versions used
If applicable, tell us the used minecraft client AND server versions that are involved in this problem.

1.12.2 ~ 1.16.4 server
1.12.2 client (maybe only legacy clients are experiencing this problem)

getNewInventory().getItems() throws NullPointerException

public class InventoryEvent implements Listener
{
	@EventHandler
	public void onInventoryClose(InventoryCloseEvent event)
	{
		// doAnythingWith() function is just an example function.
		doAnythingWith(event.getInventory().getItems()); // Works just fine
		doAnythingWith(event.getNewInventory().getItems()); // NullPointerException
	}
}

Exception:

16:22:10 [WARNING] [TestPlugin] Old inventory is not null.
16:22:10 [WARNING] Error dispatching event de.exceptionflug.protocolize.inventory.event.InventoryCloseEvent@56cef9b2 to listener io.github.spawnchunks.test.InventoryEvent@75f95314
java.lang.NullPointerException
    at io.github.spawnchunks.test.InventoryEvent.onInventoryClose(InventoryEvent.java:8)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19)
    at net.md_5.bungee.event.EventBus.post(EventBus.java:46)
    at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:397)
    at de.exceptionflug.protocolize.inventory.adapter.CloseWindowAdapter.receive(CloseWindowAdapter.java:26)
    at de.exceptionflug.protocolize.api.event.EventManager.lambda$handleInboundPacket$1(EventManager.java:66)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at de.exceptionflug.protocolize.api.event.EventManager.handleInboundPacket(EventManager.java:64)
    at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:84)
    at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:25)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
    at java.base/java.lang.Thread.run(Thread.java:834)

WindowItems OriginItemStack Error

bungeecord: 1.16.1-latest

Modify the ItemStack List of WindowItemsPacket. If one of the ItemStacks does not have Display or Lore. NPE exception will be thrown

[Protocolize] Exception occurred when writing ItemStack to buffer. Protocol version = 47
java.lang.NullPointerException
at net.md_5.bungee.api.chat.BaseComponent.toLegacyText(BaseComponent.java:240)
at de.exceptionflug.protocolize.items.ItemStack.write(ItemStack.java:160)
at de.exceptionflug.protocolize.items.packet.WindowItems.write(WindowItems.java:66)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:95)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:25)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:425)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)

All players get disconnectet if opening a container with a Shulkerbox inside

Describe the bug
See titel

To Reproduce
Steps to reproduce the behavior:
Open a container which an Shulker inside - could be, that only "old" Shulkers from MC 1.15.2 are causing this

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
31;1m[12:33:07] [ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 736
java.lang.IllegalArgumentException: Tag type id 12 is unknown!
at com.flowpowered.nbt.TagType.getById(TagType.java:103) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:115) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTagPayload(NBTInputStream.java:200) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:127) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTagPayload(NBTInputStream.java:200) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:127) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:103) ~[?:?]
at de.exceptionflug.protocolize.items.ItemStack.readNBTTag(ItemStack.java:267) ~[?:?]
at de.exceptionflug.protocolize.items.ItemStack.read(ItemStack.java:215) ~[?:?]
at de.exceptionflug.protocolize.items.packet.WindowItems.read(WindowItems.java:75) ~[?:?]
at net.md_5.bungee.protocol.DefinedPacket.read0(DefinedPacket.java:217) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:57) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:14) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
�[m>....
�[K�[31;1m[12:33:07] [ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 736
java.lang.IndexOutOfBoundsException: Tag type id 101 is out of bounds!
at com.flowpowered.nbt.TagType.getById(TagType.java:107) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:115) ~[?:?]
at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:103) ~[?:?]
at de.exceptionflug.protocolize.items.ItemStack.readNBTTag(ItemStack.java:267) ~[?:?]
at de.exceptionflug.protocolize.items.ItemStack.read(ItemStack.java:215) ~[?:?]
at de.exceptionflug.protocolize.items.packet.WindowItems.read(WindowItems.java:75) ~[?:?]
at net.md_5.bungee.protocol.DefinedPacket.read0(DefinedPacket.java:217) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:57) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:14) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[BungeeCord.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
�[m>....

Proxy environment
Plugins : CleanMotD.jar | CMIB1.0.0.4.jar | DuoAuth.jar | ExploitFixer.jar | GatekeeperBungee.jar | HackedServer.jar | LuckPerms-Bungee-5.1.29.jar | MyCommand_BungeeCord.jar | nuvotifier-2.7.1.jar | PL-Hide-Pro-1.0.4.jar | Plan-5.1-build.624.jar | protocolize-plugin.jar

I am using FlameCord! Tried several Versions, seems to happen with all of them.

Minecraft versions used
Paper 1.16.1 ver 100

Graphical Bug

Hi guys,

I use protocolize for create fake inventory with bungee.
All works fine (thanks for this awesome lib) but when I open the inventory example, if I click on item in my inventory, he disappeared.

If i try to interract with this new empty slot, the item come back but i would prefer if i can avoid this "bug"

image

I only have my plugin with protocolize on the proxy.
If you need more details, let me know.

(PS: I'm french, and I think i'm really bad for write and speak in english, i'm sorry if this post is awfull)

FastDecoderException w/ BlockPlacement class

Hi there,

I've recently been getting the following error with Protocolize 1.5.4-SNAPSHOT:105

[07:33:21 WARN]: [REDACTED|Gatt] -> UpstreamBridge - bad packet ID, are mods in use!? Did not read all bytes from packet class de.exceptionflug.protocolize.items.packet.BlockPlacement 8 Protocol GAME Direction TO_SERVER
[07:33:21 INFO]: [Gatt] disconnected with: FastDecoderException : Error decoding packet class BlockPlacement with contents:
+-------------------------------------------------+
| 0 1 2 3 4 5 6 7 8 9 a b c d e f |
+--------+-------------------------------------------------+----------------+
|00000000| 08 ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 |................|
|00000010| 00 00 00 |... |
+--------+-------------------------------------------------+----------------+

It occurs when I switch between servers, and causes the client to disconnect.

Following is a list of plugins on my Proxy server:

BadlionClientModAPIBungee
BungeeMOTD
BungeePluginManager
LuckPerms
MCCommons
Protocolize
spark
ViaVersion 3.0.0

If you need any other details, let me know.

Enchantments

I saw that there is the hide enchantments flag, but there isn't anything to add a enchantment to the items, so if you can add it for next update it will be great!

Incorrect Item mapping

It looks like the item ids in ItemType are being incorrectly generated. For example ItemType.FILLED_MAP for protocol version 404 should be 613 instead it's 608 which is the id for brown beds

Unknown Rrror

I am really completely unaware of this error, I am not a developer, but I wish you could help me with this problem. I don't know the cause or why, I just posted this issue in the discussion of this plugin and they sent me here.

Here is the error report: https://pastebin.ubuntu.com/p/S4CM5wPY79/

I'm very sorry if I haven't followed the directions in this post.

Inventory Bug

Bungee Version: latest
MC-Version: 1.8.9
Situation: When you put a normal item in a normal chest, you can do it, but if you close and reopen the chest, the items is back in your inventory and it isnt in the chest
The error in the console:
19:43:58 [GRAVE] [Protocolize] Exception caught in listener while receiving packet de.exceptionflug.protocolize.inventory.packet.ClickWindow
java.lang.NullPointerException
at de.exceptionflug.protocolize.inventory.Inventory.getItemsIndexed(Inventory.java:50)
at de.exceptionflug.protocolize.inventory.InventoryModule.sendInventory(InventoryModule.java:188)
at de.exceptionflug.protocolize.inventory.adapter.ClickWindowAdapter.receive(ClickWindowAdapter.java:54)
at de.exceptionflug.protocolize.api.event.EventManager.lambda$handleInboundPacket$1(EventManager.java:66)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at de.exceptionflug.protocolize.api.event.EventManager.handleInboundPacket(EventManager.java:64)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:84)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:25)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:796)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:427)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:328)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
at java.lang.Thread.run(Thread.java:748)
If you more info, i can provide it by testing
Also, there isnt any other plugin enabled that implements the protocolize api, and the experimental features are disabled

/traffic not working

Hello there.

I have put the latest Protocolize into the plugins folder of a fresh BungeeCord server downloaded from the official Jenkins.

To test it out, I first ran the /traffic command, and nothing happened. Then I executed it from the console, nothing has happened there either.

There are no console errors, the last thing there is in the console before my player connecting the following:

12:34:28 [INFO] ======= PROTOCOLIZE =======
12:34:28 [INFO] Version 1.4.5-SNAPSHOT by Exceptionflug
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.ChangeGameState
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.NamedSoundEffect
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerPosition
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerLook
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerPositionLook
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.SetSlot
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.WindowItems
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.HeldItemChange
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.UseItem
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.BlockPlacement
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.HeldItemChange
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.OpenWindow
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.CloseWindow
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ConfirmTransaction
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.WindowProperty
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.CloseWindow
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ConfirmTransaction
12:34:28 [INFO] [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ClickWindow
12:34:28 [INFO] Enabled plugin protocolize-plugin version 1.4.5-SNAPSHOT by Exceptionflug
12:34:28 [INFO] Enabled plugin cmd_alert version git:cmd_alert:1.14-SNAPSHOT:941d7f7:1416 by SpigotMC
12:34:28 [INFO] Enabled plugin cmd_send version git:cmd_send:1.14-SNAPSHOT:941d7f7:1416 by SpigotMC
12:34:28 [INFO] Enabled plugin cmd_list version git:cmd_list:1.14-SNAPSHOT:941d7f7:1416 by SpigotMC
12:34:29 [INFO] Listening on /0.0.0.0:25577
12:35:34 [INFO] [/127.0.0.1:60275] <-> InitialHandler has connected
12:35:35 [INFO] [SpawnChunks] <-> ServerConnector [lobby] has connected
12:35:36 [INFO] Netty is not using direct IO buffers.

After that, I wrote traffic SpawnChunks into the console, nothing happened. I wrote /traffic SpawnChunks into the chat ingame, and nothing happened.

We are going to be developing a plugin that needs Protocolize, but it currently seems like it doesn't work.

Bungee version: git:BungeeCord-Bootstrap:1.14-SNAPSHOT:941d7f7:1416 by md_5

Any help would be appropriated.
~ SpawnChunks

open inventory menu there is a chance of disconnected

bc: latest
protocolize: latest
When I open inventory menu there is a chance of disconnected

consolelog
03:54:36 [WARNING] [Ya_Mo_TAT] -> UpstreamBridge - bad packet ID, are mods in use!? Did not read all bytes from packet class de.exceptionflug.protocolize.items.packet.BlockPlacement 8 Protocol GAME Direction TO_SERVER
03:54:36 [INFO] [Ya_Mo_TAT] disconnected with: DecoderException : net.md_5.bungee.protocol.BadPacketException: Did not read all bytes from packet class de.exceptionflug.protocolize.items.packet.BlockPlacement 8 Protocol GAME Direction TO_SERVER @ io.netty.handler.codec.MessageToMessageDecoder:98

inventory gui bug

[Protocolize] Exception occurred when writing ItemStack to buffer. Protocol version = 47
java.lang.NullPointerException
at net.md_5.bungee.api.chat.BaseComponent.toLegacyText(BaseComponent.java:224)
at de.exceptionflug.protocolize.items.ItemStack.write(ItemStack.java:160)
at de.exceptionflug.protocolize.items.packet.WindowItems.write(WindowItems.java:66)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:95)
at de.exceptionflug.protocolize.netty.ProtocolizeDecoderChannelHandler.decode(ProtocolizeDecoderChannelHandler.java:25)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:308)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:422)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)
image

1.16 Villager Inventory

Opening a Villager Inventory on a 1.16 Server causes this Protocolize Error in BungeeCord. The Inventory also does not open.

Using FlameCord 0.3.4, and MCCommons

[06:08:46] [ERROR]: [Protocolize] === EXCEPTION CAUGHT IN DECODER ===
[06:08:46] [ERROR]: [Protocolize] Stream: DOWNSTREAM
[06:08:46] [ERROR]: [Protocolize] Connection: Gatt
[06:08:46] [ERROR]: [Protocolize] Protocol version: 736
[06:08:46] [ERROR]: io.netty.handler.codec.DecoderException: java.lang.NullPointerException
[06:08:46] [ERROR]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[06:08:46] [ERROR]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[06:08:46] [ERROR]: at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
[06:08:46] [ERROR]: at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[06:08:46] [ERROR]: at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[06:08:46] [ERROR]: at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[06:08:46] [ERROR]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[06:08:46] [ERROR]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
[06:08:46] [ERROR]: at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
[06:08:46] [ERROR]: at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
[06:08:46] [ERROR]: at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
[06:08:46] [ERROR]: at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
[06:08:46] [ERROR]: at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[06:08:46] [ERROR]: at java.base/java.lang.Thread.run(Thread.java:831)
[06:08:46] [ERROR]: Caused by: java.lang.NullPointerException
[06:08:46] [ERROR]: at net.md_5.bungee.chat.BaseComponentSerializer.deserialize(BaseComponentSerializer.java:70)
[06:08:46] [ERROR]: at net.md_5.bungee.chat.TranslatableComponentSerializer.deserialize(TranslatableComponentSerializer.java:23)
[06:08:46] [ERROR]: at net.md_5.bungee.chat.TranslatableComponentSerializer.deserialize(TranslatableComponentSerializer.java:15)
[06:08:46] [ERROR]: at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
[06:08:46] [ERROR]: at com.google.gson.Gson.fromJson(Gson.java:887)
[06:08:46] [ERROR]: at com.google.gson.Gson.fromJson(Gson.java:952)
[06:08:46] [ERROR]: at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162)
[06:08:46] [ERROR]: at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:77)
[06:08:46] [ERROR]: at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:20)
[06:08:46] [ERROR]: at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
[06:08:46] [ERROR]: at com.google.gson.Gson.fromJson(Gson.java:887)
[06:08:46] [ERROR]: at com.google.gson.Gson.fromJson(Gson.java:952)
[06:08:46] [ERROR]: at com.google.gson.Gson.fromJson(Gson.java:925)
[06:08:46] [ERROR]: at net.md_5.bungee.chat.ComponentSerializer.parse(ComponentSerializer.java:46)
[06:08:46] [ERROR]: at de.exceptionflug.protocolize.inventory.packet.OpenWindow.read(OpenWindow.java:72)
[06:08:46] [ERROR]: at net.md_5.bungee.protocol.DefinedPacket.read0(DefinedPacket.java:217)
[06:08:46] [ERROR]: at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:57)
[06:08:46] [ERROR]: at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:14)
[06:08:46] [ERROR]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
[06:08:46] [ERROR]: ... 26 more

Inventory Bug

When you open an inventory and then you close, the player inventory disappear and there is a warn in the console:

[18:58:54 WARN]: [Protocolize] ImRetroo_ has no open inventory with id 123

My minecraft version is 1.8.8
Thanks and sorry for my english!

Protoxolize bugs with "Flamecord"(Travertine/Waterfall) Fork

when the plugin starts on flamecord this happens:

[20:45:31] [INFO]: ======= PROTOCOLIZE =======
[20:45:31] [INFO]: Version 1.6.4-SNAPSHOT:303 by Exceptionflug
[20:45:31] [INFO]: [Protocolize] Running on Waterfall. Please report bugs regarding protocolize at https://github.com/Exceptionflug/protocolize/issues
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.ChangeGameState
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.NamedSoundEffect
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.SignUpdate
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerPosition
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerLook
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.PlayerPositionLook
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.world.packet.SignUpdate
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.SetSlot
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.WindowItems
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.HeldItemChange
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.UseItem
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.BlockPlacement
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.items.packet.HeldItemChange
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.OpenWindow
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.CloseWindow
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ConfirmTransaction
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.WindowProperty
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.CloseWindow
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ConfirmTransaction
[20:45:31] [WARN]: [Protocolize] Protocol version 753 is not supported on this waterfall version. Skipping registration for that specific version.
[20:45:31] [INFO]: [Protocolize] Injected custom packet: de.exceptionflug.protocolize.inventory.packet.ClickWindow
[20:45:31] [INFO]: Enabled plugin protocolize-plugin version 1.6.4-SNAPSHOT:303 by Exceptionflug

everything seems to work anyways but i wanted to report this anyways because maybe it can cause problems to other users

A question

Hello, I'm still a little beginner in chat message channel, so I will have to put my plugin on the bungeecord server and protocolize it in spigot and bungeecord?

Packet listening bug

public class HandshakePacketListener extends PacketAdapter<Handshake> {  
 
  public HandshakePacketListener() {
	  super(Stream.DOWNSTREAM, Handshake.class);
	}

  @Override  
  public void send(PacketSendEvent<Handshake> event) {  
    System.out.println("Handshake sent");
 } 
  @Override
  public void receive(PacketReceiveEvent<Handshake> event) { 
    System.out.println("Handshake receive");
  }
}

Listening of Handhsake packet does not work neither UPSTREAM nor DOWNSTREAM

Pre 1.16 Shulker Boxes crash Players

What behaviour is expected:
Players to be able to use Shulker Boxes from 1.15.2.

What behaviour is observed:
If a player had a Shulker box with NBT data in an inventory [either theirs or in a chest] from 1.15.2, as soon as that inventory is loaded after the 1.16 upgrade the player will crash.

Used Versions
Bungeecord 1.16 Build: 1522
Protocolize v1.6.1

Error:

00:32:05 [WARNING] [IrgendSoEinTyp] <-> DownstreamBridge <-> [freebuild1] - bad packet ID, are mods in use!? Did not read all bytes from packet class de.exceptionflug.protocolize.items.packet.WindowItems 20 Protocol GAME Direction TO_CLIENT
00:32:05 [SEVERE] [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 736
java.lang.IllegalArgumentException: Tag type id 12 is unknown!
	at com.flowpowered.nbt.TagType.getById(TagType.java:103)
	at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:115)
	at com.flowpowered.nbt.stream.NBTInputStream.readTagPayload(NBTInputStream.java:200)
	at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:127)
	at com.flowpowered.nbt.stream.NBTInputStream.readTagPayload(NBTInputStream.java:200)
	at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:127)
	at com.flowpowered.nbt.stream.NBTInputStream.readTag(NBTInputStream.java:103)
	at de.exceptionflug.protocolize.items.ItemStack.readNBTTag(ItemStack.java:257)
	at de.exceptionflug.protocolize.items.ItemStack.read(ItemStack.java:207)
	at de.exceptionflug.protocolize.items.packet.SetSlot.read(SetSlot.java:71)
	at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:33)
	at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:10)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311)
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:425)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.base/java.lang.Thread.run(Thread.java:834)

EXCEPTION CAUGHT IN DECODER

[00:00:30] [Netty Worker IO Thread #0/ERROR]: [Protocolize] === EXCEPTION CAUGHT IN DECODER ===
[00:00:30] [Netty Worker IO Thread #0/ERROR]: [Protocolize] Stream: DOWNSTREAM
[00:00:30] [Netty Worker IO Thread #0/ERROR]: [Protocolize] Connection: sans_killer_754
[00:00:30] [Netty Worker IO Thread #0/ERROR]: [Protocolize] Protocol version: 335
[00:00:30] [Netty Worker IO Thread #0/WARN]: java.lang.NoSuchMethodError: de.exceptionflug.protocolize.items.AbstractCustomItemIDMapping.isApplicable(Lde/exceptionflug/protocolize/items/ItemStack;IIS)Z
[00:00:30] [Netty Worker IO Thread #0/WARN]: at de.exceptionflug.protocolize.items.ItemType.getType(ItemType.proto:42)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at de.exceptionflug.protocolize.items.ItemStack.read(ItemStack.java:251)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at de.exceptionflug.protocolize.items.packet.WindowItems.read(WindowItems.java:77)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:49)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:11)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[00:00:30] [Netty Worker IO Thread #0/WARN]: at java.lang.Thread.run(Thread.java:748)

Missing Skull Creations to ItemStack

Please update your Items-Module within the ItemStack Class to create custom Skulls.
Missing Methods:

  • *void setOwner(String owner)
  • *String getOwner()
  • boolean isSkull()

Thanks

console error

>.... [20:31:53 ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 578
java.lang.ClassCastException: class com.flowpowered.nbt.ByteTag cannot be cast to class com.flowpowered.nbt.IntTag (com.flowpowered.nbt.ByteTag and com.flowpowered.nbt.IntTag are in unnamed module of loader net.md_5.bungee.api.plugin.PluginClassloader @3359c978)
at de.exceptionflug.protocolize.items.ItemStack.getHideFlags(ItemStack.java:244) ~[?:?]
at de.exceptionflug.protocolize.items.ItemStack.read(ItemStack.java:229) ~[?:?]
at de.exceptionflug.protocolize.items.packet.WindowItems.read(WindowItems.java:73) ~[?:?]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:52) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:12) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:425) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[server.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:4d36935:347]
at java.lang.Thread.run(Thread.java:832) [?:?]
>.... [20:32:39 ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 578
java.lang.ClassCastException: null
>.... [20:32:39 ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 578
java.lang.ClassCastException: null
>.... [20:33:01 ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 578
java.lang.ClassCastException: null
>.... [20:33:03 ERROR]: [Protocolize] Exception occurred when reading ItemStack from buffer. Protocol version = 578
java.lang.ClassCastException: null

Bug with typical inventory size for protocol version 751

Describe the bug
Cannot find Generic9x3 typical inventory size for protocol version 751 (1.16.2 which just came out)

To Reproduce
Create an inventory with the size of generic9x3 then use a for loop to fill the inventory with a specific item.
Example:

public static Inventory createInventory (int rows, String name, ItemStack fill) {
    final Inventory inv = new Inventory(InventoryType.getChestInventoryWithRows(rows), new TextComponent(name));
    for (int i = 0; i < inv.getType().getTypicalSize(ProxyServer.getInstance().getProtocolVersion()); i++) {
        if (inv.getItem(i) == null) inv.setItem(i, fill);
    }
    return inv;
}

Expected behavior
return 27;

Proxy environment
Waterfall version git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:8f9f435:368

Minecraft versions used
client uses 1.15.2, the minecraft server is on 1.15.2 and the proxy is on 1.16-R0.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.