|
1 | 1 | --- a/net/minecraft/network/codec/ByteBufCodecs.java
|
2 | 2 | +++ b/net/minecraft/network/codec/ByteBufCodecs.java
|
3 |
| -@@ -487,7 +_,11 @@ |
| 3 | +@@ -487,7 +_,7 @@ |
4 | 4 | ) {
|
5 | 5 | return new StreamCodec<RegistryFriendlyByteBuf, R>() {
|
6 | 6 | private IdMap<R> getRegistryOrThrow(RegistryFriendlyByteBuf p_362297_) {
|
7 | 7 | - return p_320353_.apply(p_362297_.registryAccess().lookupOrThrow(p_319942_));
|
8 |
| -+ var registry = p_362297_.registryAccess().lookupOrThrow(p_319942_); |
9 |
| -+ if (net.neoforged.neoforge.registries.RegistryManager.isNonSyncedBuiltInRegistry(registry)) { |
10 |
| -+ throw new IllegalStateException("Cannot use ID syncing for non-synced built-in registry: " + registry.key()); |
11 |
| -+ } |
12 |
| -+ return p_320353_.apply(registry); |
| 8 | ++ return p_320353_.apply(getSyncableRegistryOrThrow(p_362297_, p_319942_)); |
13 | 9 | }
|
14 | 10 |
|
15 | 11 | public R decode(RegistryFriendlyByteBuf p_340887_) {
|
16 |
| -@@ -544,8 +_,25 @@ |
| 12 | +@@ -517,7 +_,7 @@ |
| 13 | + private static final int DIRECT_HOLDER_ID = 0; |
| 14 | + |
| 15 | + private IdMap<Holder<T>> getRegistryOrThrow(RegistryFriendlyByteBuf p_376392_) { |
| 16 | +- return p_376392_.registryAccess().lookupOrThrow(p_320391_).asHolderIdMap(); |
| 17 | ++ return getSyncableRegistryOrThrow(p_376392_, p_320391_).asHolderIdMap(); |
| 18 | + } |
| 19 | + |
| 20 | + public Holder<T> decode(RegistryFriendlyByteBuf p_363509_) { |
| 21 | +@@ -539,13 +_,38 @@ |
| 22 | + }; |
| 23 | + } |
| 24 | + |
| 25 | ++ private static <T> Registry<T> getSyncableRegistryOrThrow(RegistryFriendlyByteBuf buffer, ResourceKey<? extends Registry<T>> registryKey) { |
| 26 | ++ var registry = buffer.registryAccess().lookupOrThrow(registryKey); |
| 27 | ++ if (net.neoforged.neoforge.registries.RegistryManager.isNonSyncedBuiltInRegistry(registry)) { |
| 28 | ++ throw new io.netty.handler.codec.CodecException("Cannot use ID syncing for non-synced built-in registry: " + registry.key()); |
| 29 | ++ } |
| 30 | ++ return registry; |
| 31 | ++ } |
| 32 | ++ |
| 33 | + static <T> StreamCodec<RegistryFriendlyByteBuf, HolderSet<T>> holderSet(final ResourceKey<? extends Registry<T>> p_332137_) { |
| 34 | + return new StreamCodec<RegistryFriendlyByteBuf, HolderSet<T>>() { |
17 | 35 | private static final int NAMED_SET = -1;
|
18 | 36 | private final StreamCodec<RegistryFriendlyByteBuf, Holder<T>> holderCodec = ByteBufCodecs.holderRegistry(p_332137_);
|
19 | 37 |
|
|
0 commit comments