录音机

基本信息

属性 值
注册名 RandomThings:soundRecorder
类 lumien.randomthings.Items.ItemSoundRecorder
GUI ID GuiIds.SOUND_RECORDER = 9(GuiIds.java:14)
容器槽位 0(ContainerSoundRecorder 只覆写 canInteractWith)
访问权限 无限制(canInteractWith 直接返回 true)
开关 Items.SoundRecorder(RTConfiguration.java:222)

功能

录音机是一个环境声音录制与广播工具:记录所在位置播放过的声音,并可将其作为广播音效重放。

录制开关

Shift + 右键切换录制状态(ItemSoundRecorder.java:37-45):

if (par3EntityPlayer.isSneaking()) {
    if (par1ItemStack.getItemDamage() == 0) {
        par1ItemStack.setItemDamage(1);
    } else {
        par1ItemStack.setItemDamage(0);
    }

状态存在 metadata:0 = 未录制,1 = 录制中。

状态贴图

两张贴图对应两种状态(ItemSoundRecorder.java:22-26):

metadata 贴图
0 RandomThings:soundRecorderInactive
1 RandomThings:soundRecorderActive

getIconFromDamage 对越界 damage 返回 null(:31-35),是本 mod 中少见的显式空值返回。

播放

Client/Audio/BroadcastSoundEffect.java 负责重放已录制的声音。

数值

数值名 值
状态数 2(metadata 0 / 1)
容器槽位 0(纯 GUI,无背包槽)
访问限制 无(canInteractWith 恒 true)
GUI ID 9
切换方式 Shift + 右键

交互

触发 行为
右键 打开 GUI ID 9
Shift + 右键 切换录制开关(贴图随之切换)
录制中 记录周围播放的声音
重放 通过 BroadcastSoundEffect 播放

[!NOTE] 与虚空之石、磁力仪 等不同,录音机的 ContainerSoundRecorder.canInteractWith 不做任何手持物或配置校验,直接返回 true(Container/ContainerSoundRecorder.java:11-13)。

合成配方

xrx
wiw
wiw
字符 物品
r 红石火把(Blocks.redstone_torch)
w 木板(plankWood)
i 铁锭(ingotIron)

来源:Library/Recipes.java:410-421,受 ConfigItems.soundRecorder 约束。

相关条目