From 29fb0baa09055653818c7e55be8138528ba1bc4c Mon Sep 17 00:00:00 2001 From: SquidDev Date: Sat, 22 Aug 2020 15:31:48 +0100 Subject: [PATCH] Use Forge's packet methods for sending SoundEvents Doesn't fix #515 (arguably makes it worse in the sense that it's more likely to throw). However it should provide better error reporting, and make it more clear that it's not CC:T's fault. --- .../shared/network/client/PlayRecordClientMessage.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/dan200/computercraft/shared/network/client/PlayRecordClientMessage.java b/src/main/java/dan200/computercraft/shared/network/client/PlayRecordClientMessage.java index 9ba8d2021..ce1851c85 100644 --- a/src/main/java/dan200/computercraft/shared/network/client/PlayRecordClientMessage.java +++ b/src/main/java/dan200/computercraft/shared/network/client/PlayRecordClientMessage.java @@ -13,10 +13,8 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.network.NetworkEvent; -import net.minecraftforge.registries.ForgeRegistries; import javax.annotation.Nonnull; -import java.util.Objects; /** * Starts or stops a record on the client, depending on if {@link #soundEvent} is {@code null}. @@ -51,7 +49,7 @@ public PlayRecordClientMessage( PacketBuffer buf ) if( buf.readBoolean() ) { name = buf.readString( Short.MAX_VALUE ); - soundEvent = ForgeRegistries.SOUND_EVENTS.getValue( buf.readResourceLocation() ); + soundEvent = buf.readRegistryIdSafe( SoundEvent.class ); } else { @@ -72,7 +70,7 @@ public void toBytes( @Nonnull PacketBuffer buf ) { buf.writeBoolean( true ); buf.writeString( name ); - buf.writeResourceLocation( Objects.requireNonNull( soundEvent.getRegistryName(), "Sound is not registered" ) ); + buf.writeRegistryId( soundEvent ); } }