mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-09-02 02:27:56 +00:00
@@ -0,0 +1,12 @@
|
||||
package dan200.computercraft.fabric.mixin;
|
||||
|
||||
import net.minecraft.item.MusicDiscItem;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(MusicDiscItem.class)
|
||||
public interface MusicDiscItemAccessor {
|
||||
@Accessor
|
||||
SoundEvent getSound();
|
||||
}
|
@@ -10,6 +10,7 @@ import javax.annotation.Nonnull;
|
||||
|
||||
import dan200.computercraft.api.media.IMedia;
|
||||
|
||||
import dan200.computercraft.fabric.mixin.MusicDiscItemAccessor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.MusicDiscItem;
|
||||
@@ -42,6 +43,10 @@ public final class RecordMedia implements IMedia {
|
||||
|
||||
@Override
|
||||
public SoundEvent getAudio(@Nonnull ItemStack stack) {
|
||||
return ((MusicDiscItem) stack.getItem()).getSound();
|
||||
Item item = stack.getItem();
|
||||
if (!(item instanceof MusicDiscItem)) {
|
||||
return null;
|
||||
}
|
||||
return ((MusicDiscItemAccessor) item).getSound();
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,8 @@
|
||||
"SignBlockEntityAccess",
|
||||
"SoundEventAccess",
|
||||
"WorldSavePathAccess",
|
||||
"MixinServerPlayerInteractionManager"
|
||||
"MixinServerPlayerInteractionManager",
|
||||
"MusicDiscItemAccessor"
|
||||
],
|
||||
"client": [
|
||||
"AffineTransformationAccess",
|
||||
|
Reference in New Issue
Block a user