Skip to content

Commit 5c7efdb

Browse files
committed
Implement synced registry check in holder stream codec
Closes neoforged#839
1 parent b1c3fe0 commit 5c7efdb

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

patches/net/minecraft/network/codec/ByteBufCodecs.java.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,16 @@
1313
}
1414

1515
public R decode(RegistryFriendlyByteBuf p_331253_) {
16+
@@ -493,7 +_,11 @@
17+
private static final int DIRECT_HOLDER_ID = 0;
18+
19+
private IdMap<Holder<T>> getRegistryOrThrow(RegistryFriendlyByteBuf p_341377_) {
20+
- return p_341377_.registryAccess().registryOrThrow(p_320391_).asHolderIdMap();
21+
+ var registry = p_341377_.registryAccess().registryOrThrow(p_320391_);
22+
+ if (net.neoforged.neoforge.registries.RegistryManager.isNonSyncedBuiltInRegistry(registry)) {
23+
+ throw new IllegalStateException("Cannot use ID syncing for non-synced built-in registry: " + registry.key());
24+
+ }
25+
+ return registry.asHolderIdMap();
26+
}
27+
28+
public Holder<T> decode(RegistryFriendlyByteBuf p_330998_) {

0 commit comments

Comments
 (0)