Skip to content

fix: issue when modifying default components - #285

Merged
Patbox merged 1 commit into
Patbox:dev/26.3from
Maganoos:component_fix
Sep 17, 2026
Merged

Patbox merged 1 commit into
Patbox:dev/26.3from
Maganoos:component_fix

Conversation

@Maganoos

Copy link
Copy Markdown
Contributor

This fixes an issue relating to setting default item components, as it tries to sync a DataComponentMap with Optionals, while other implementations use Removed if not present, and the raw value if it is present.

[11:12:51] [Netty Epoll IO #5/ERROR] (Minecraft) Error sending packet clientbound/minecraft:container_set_content

io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:container_set_content'
	at knot//net.minecraft.network.codec.IdDispatchCodec.encode(IdDispatchCodec.java:61)
	at knot//net.minecraft.network.codec.IdDispatchCodec.encode(IdDispatchCodec.java:14)
	at knot//net.minecraft.network.PacketEncoder.encode$mixinextras$wrapped$11(PacketEncoder.java:26)
	at knot//net.minecraft.network.PacketEncoder.mixinextras$bridge$encode$mixinextras$wrapped$11$12(PacketEncoder.java)
	at knot//net.minecraft.network.PacketEncoder.mdf331e0$fabric-networking-api-v1$lambda$wrapWithContext$0$0(PacketEncoder.java:558)
	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.PacketEncoder.wrapMethod$zfo000$fabric-networking-api-v1$wrapWithContext(PacketEncoder.java:558)
	at knot//net.minecraft.network.PacketEncoder.encode$mixinextras$wrapped$13(PacketEncoder.java)
	at knot//net.minecraft.network.PacketEncoder.mixinextras$bridge$encode$mixinextras$wrapped$13$14(PacketEncoder.java)
	at knot//net.minecraft.network.PacketEncoder.mdf331e0$polymer-core$lambda$providePacket$0$1(PacketEncoder.java:1519)
	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.PacketEncoder.wrapMethod$zpo000$polymer-core$providePacket(PacketEncoder.java:1519)
// cut off
Caused by: java.lang.ClassCastException: class java.util.Optional cannot be cast to class net.minecraft.world.item.equipment.Equippable (java.util.Optional is in module java.base of loader 'bootstrap'; net.minecraft.world.item.equipment.Equippable is in unnamed module of loader 'knot' @d6da883)
	at knot//net.minecraft.network.codec.StreamCodec$17.encode(StreamCodec.java:477)
	at knot//net.minecraft.core.component.DataComponentPatch$3.encodeComponent(DataComponentPatch.java:139)
	at knot//net.minecraft.core.component.DataComponentPatch$3.encode(DataComponentPatch.java:125)
	at knot//net.minecraft.core.component.DataComponentPatch$3.encode(DataComponentPatch.java:74)
	at knot//eu.pb4.polymer.core.impl.networking.TransformingPacketCodec.encode(TransformingPacketCodec.java:17)
// cut off

@Maganoos
Maganoos marked this pull request as draft September 17, 2026 15:30
@Maganoos
Maganoos marked this pull request as ready for review September 17, 2026 16:08
@Patbox
Patbox merged commit 765ba9a into Patbox:dev/26.3 Sep 17, 2026
1 check passed
@Maganoos
Maganoos deleted the component_fix branch September 17, 2026 17:06
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.

2 participants