From f99692209378f6129b77b540f6b34211eeeca497 Mon Sep 17 00:00:00 2001 From: Naz Date: Sun, 30 Mar 2025 14:44:30 +0800 Subject: [PATCH] Fix crash with structures/features that hold jukeboxes, and move asserts --- src/main/java/net/sydokiddo/auditory/AuditoryClient.java | 3 +-- .../auditory/mixin/blocks/JukeboxDiscSoundMixin.java | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/sydokiddo/auditory/AuditoryClient.java b/src/main/java/net/sydokiddo/auditory/AuditoryClient.java index 2dd7b34..a805da7 100644 --- a/src/main/java/net/sydokiddo/auditory/AuditoryClient.java +++ b/src/main/java/net/sydokiddo/auditory/AuditoryClient.java @@ -25,8 +25,7 @@ public void onInitializeClient() { KeyBindingHelper.registerKeyBinding(reloadKey); ClientTickEvents.END_CLIENT_TICK.register(client -> { - if (reloadKey.isDown()) { - assert client.player != null; + if (reloadKey.isDown() && client.player != null) { Minecraft.getInstance().getSoundManager().reload(); Minecraft mc = Minecraft.getInstance(); mc.gui.getChat().addMessage(Component.translatable("auditory.sound_reload_message")); diff --git a/src/main/java/net/sydokiddo/auditory/mixin/blocks/JukeboxDiscSoundMixin.java b/src/main/java/net/sydokiddo/auditory/mixin/blocks/JukeboxDiscSoundMixin.java index d00f6a2..26fd5e0 100644 --- a/src/main/java/net/sydokiddo/auditory/mixin/blocks/JukeboxDiscSoundMixin.java +++ b/src/main/java/net/sydokiddo/auditory/mixin/blocks/JukeboxDiscSoundMixin.java @@ -3,7 +3,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.sounds.SoundSource; -import net.minecraft.tags.ItemTags; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.JukeboxSong; import net.minecraft.world.level.block.entity.BlockEntity; @@ -16,7 +15,6 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.Optional; @@ -46,9 +44,8 @@ private void auditory_ejectDiscSound(ItemStack itemStack, CallbackInfo ci) { @Inject(method = "setTheItem", at = @At("HEAD")) private void auditory_insertDiscSound(ItemStack itemStack, CallbackInfo ci) { - if (Auditory.getConfig().block_sounds.jukebox_sounds) { + if (Auditory.getConfig().block_sounds.jukebox_sounds && this.level != null) { boolean bl = !itemStack.isEmpty(); - assert this.level != null; Optional> optional = JukeboxSong.fromStack(this.level.registryAccess(), itemStack); if (bl && optional.isPresent()) { this.level.playSound(null, this.getBlockPos(), ModSoundEvents.BLOCK_JUKEBOX_USE, SoundSource.BLOCKS, 1.0F, 1.0F);