Skip to content

Inventory Management - #276

Draft
Exterminate5573 wants to merge 105 commits into
ViaVersionAddons:mainfrom
Exterminate5573:feat/inventory
Draft

Exterminate5573 wants to merge 105 commits into
ViaVersionAddons:mainfrom
Exterminate5573:feat/inventory

Conversation

@Exterminate5573

Copy link
Copy Markdown
Collaborator

Very experimental

@Kichura

Kichura commented Dec 24, 2025

Copy link
Copy Markdown
Contributor

Is this Client-Authoritative or Server-Authoritative? (as PR doesn't clarify this question)

@Exterminate5573

Copy link
Copy Markdown
Collaborator Author

Is this Client-Authoritative or Server-Authoritative? (as PR doesn't clarify this question)

Just Server-Authorative for now

@shunoni

shunoni commented May 4, 2026

Copy link
Copy Markdown

still cant use crafting tables ):

# Conflicts:
#	src/main/java/net/raphimc/viabedrock/experimental/ExperimentalFeatures.java
Co-authored-by: 40795980+AlexProgrammerDE@users.noreply.github.com
@shunoni

shunoni commented May 6, 2026

Copy link
Copy Markdown

it doesnt work for me.The game crashed: initializing gameError: java.lang.NoClassDefFoundError: com/viaversion/viaversion/libs/fastutil/longs/LongList

@AlexProgrammerDE

Copy link
Copy Markdown
Collaborator

@SC-MC-Mod-Dev @RaphiMC broke ViaBedrock on VFP with this commit: 647e431a

@Exterminate5573

Copy link
Copy Markdown
Collaborator Author

@SC-MC-Mod-Dev @RaphiMC broke ViaBedrock on VFP with this commit: 647e431a

Patched in VFP 1a3a5df

@shunoni

shunoni commented May 7, 2026

Copy link
Copy Markdown

@SC-MC-Mod-Dev @RaphiMC broke ViaBedrock on VFP with this commit: 647e431a

Patched in VFP 1a3a5df

thank you so so so much!!!!!

@whatusey777-blip

Copy link
Copy Markdown

Connection lost
Internal Exception: io.netty.handler.codec.DecoderException:
com.viaver.sion.viaver.sion.exception.InformativeException: Please report
the full error (D) from the console on the Via support Discord or open an
issue on the relevant GitHub repository.
Source 0:
net.raphine.viabedrock.protocol.packet.EntityPackets$$Lambda/0x00000000
Qcfeb800
how to fix that

@wiktorek140

Copy link
Copy Markdown

I make very experimental mismatch connecting 1.26.20 + your inventory changes and i got this error log:

08:47:21.763
An exception occurred while handling a packet
io.netty.handler.codec.DecoderException: java.io.IOException: Packet play/clientbound/minecraft:bundle_delimiter (ClientboundBundleDelimiterPacket) was larger than I expected, found 2 bytes extra whilst reading packet clientbound/minecraft:bundle_delimiter
	at knot//io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:427)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:394)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:377)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.handler.flow.FlowControlHandler.channelInactive(FlowControlHandler.java:133)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:412)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:377)
	at knot//io.netty.handler.codec.ByteToMessageCodec.channelInactive(ByteToMessageCodec.java:118)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.handler.flow.FlowControlHandler.channelInactive(FlowControlHandler.java:133)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:412)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:377)
	at knot//io.netty.handler.codec.ByteToMessageCodec.channelInactive(ByteToMessageCodec.java:118)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:412)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:377)
	at knot//io.netty.handler.codec.ByteToMessageCodec.channelInactive(ByteToMessageCodec.java:118)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
	at knot//io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:284)
	at knot//io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250)
	at knot//io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1424)
	at knot//io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:876)
	at knot//io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:684)
	at knot//io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
	at knot//io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141)
	at knot//io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535)
	at knot//io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201)
	at knot//io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1193)
	at knot//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.io.IOException: Packet play/clientbound/minecraft:bundle_delimiter (ClientboundBundleDelimiterPacket) was larger than I expected, found 2 bytes extra whilst reading packet clientbound/minecraft:bundle_delimiter
	at knot//net.minecraft.network.PacketDecoder.decode$mixinextras$wrapped$7(PacketDecoder.java:48)
	at knot//net.minecraft.network.PacketDecoder.mixinextras$bridge$decode$mixinextras$wrapped$7$8(PacketDecoder.java)
	at knot//net.minecraft.network.PacketDecoder.md35a3ca$fabric-networking-api-v1$lambda$wrapWithContext$0$0(PacketDecoder.java:542)
	at java.base/jdk.internal.vm.ScopedValueContainer.runWithoutScope(ScopedValueContainer.java:112)
	at java.base/jdk.internal.vm.ScopedValueContainer.run(ScopedValueContainer.java:98)
	at java.base/java.lang.ScopedValue$Carrier.run(ScopedValue.java:466)
	at knot//net.minecraft.network.PacketDecoder.wrapMethod$zjg000$fabric-networking-api-v1$wrapWithContext(PacketDecoder.java:542)
	at knot//net.minecraft.network.PacketDecoder.decode(PacketDecoder.java)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
	at knot//io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
	... 33 more
08:47:21.766
Resizing Dynamic Transforms UBO, capacity limit of 4 reached during a single frame. New capacity will be 8.
08:47:21.790
Client disconnected with reason: Packet violation warning: PacketMalformed (TerminatingConnection)
Violating Packet: PlayerEquipment
 Context: 'BinaryStream read() incomplete
readNoHeader failed! packetId: 31'

Please report this issue on the ViaBedrock GitHub page!

i hope it will be useful in any way :)

@Exterminate5573

Copy link
Copy Markdown
Collaborator Author

@wiktorek140 there have been inventory packet changes in 1.26.20 I plan on implementing them after the update has been pushed to main

@shunoni

shunoni commented May 16, 2026 •

Copy link
Copy Markdown

there have been inventory packet changes in 1.26.20

probably they're just trying to end this project and convince people to just switch to bedrock and/or buy a Windows PC. I dunno maybe I just have a mad conspiracy theory or smth but still VFP and VBD have been starting to gain traction lately so....

# Conflicts:
#	src/main/java/net/raphimc/viabedrock/protocol/rewriter/ItemRewriter.java
#	src/main/resources/assets/viabedrock/data/bedrock/runtime_item_states.json
# Conflicts:
#	src/main/resources/assets/viabedrock/data/bedrock/runtime_item_states.json
# Conflicts:
#	src/main/java/net/raphimc/viabedrock/experimental/ExperimentalFeatures.java
#	src/main/java/net/raphimc/viabedrock/experimental/ExperimentalPacketFactory.java
#	src/main/java/net/raphimc/viabedrock/protocol/rewriter/BlockEntityRewriter.java
@AlexProgrammerDE

AlexProgrammerDE commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

I updated the follow-up PR to merge upstream main at 404d7868, including the new style checks. It retains the draft inventory flow and resolves the current packet, type, and item network ID conflicts. ./gradlew check and ./gradlew build pass; this module has no test sources. Gameplay still needs testing.

Please merge that PR into feat/inventory with Create a merge commit. Its merge ancestry will bring the new main into this PR. The earlier patch for dc2c90f is superseded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants