OpenComputers 卡片

基本信息

属性 值
物品 computronics.ocParts,meta 3 / 4 / 5 / 6 / 8 / 9
环境类 pl.asie.computronics.oc.driver.DriverCard*
槽位 全部为 OC Slot.Card(ItemOpenComputers.java:186-200)
开关 各自独立,见下表

变体一览

meta 卡片 类 @Callback 方法
3 粒子特效升级 DriverCardFX spawn
4 欺骗卡 DriverCardSpoof send、broadcast
5 鸣笛升级 DriverCardBeep getBeepCount、beep
6 自毁卡片 DriverCardBoom start、time
8 噪音升级 DriverCardNoise channel_count、getMode、setMode、modes、add、clear、process、getActiveChannels、isReady、play
9 声卡 DriverCardSound modes、channel_count、setTotalVolume、clear、open、close、setWave、setFrequency、setLFSR、delay、setFM、resetFM、setAM、resetAM、setADSR、resetEnvelope、setVolume、process

方法名由 @Callback 注解扫描得出(逐文件提取 pl/asie/computronics/oc/driver/DriverCard*.java)。类继承关系:

  • DriverCardBeep / DriverCardNoise 继承 DriverCardSoundBase(后者无自己的 @Callback,只提供 ManagedEnvironment + DeviceInfo 基座)
  • DriverCardBoom 继承 ManagedEnvironmentWithComponentConnector
  • DriverCardSpoof 直接继承 OC 的 NetworkCard
  • DriverCardSound 继承 ManagedEnvironmentWithComponentConnector 并实现 IAudioSource

功能

卡片 作用 实现要点
粒子特效 在指定坐标发射粒子 spawn(name, x, y, z [, defaultVelo]);受 particles.particleRange 限制(默认 256,-1 = 无限,Config.java:391-397),每粒子耗 FX_ENERGY_COST
欺骗卡 以任意源地址发网络包 继承 NetworkCard,send(targetaddress, [sourceaddress,] port, data…) 与 broadcast([sourceaddress,] port, data…);每条消息耗 SPOOFING_ENERGY_COST
鸣笛 播放蜂鸣声 beep() 触发一次,getBeepCount() 读当前蜂鸣数;每秒耗 BEEP_ENERGY_COST
自毁卡 倒计时后自毁计算机 start([time]) 开始倒计时,time() 读剩余秒数;机器自毁状态由 BoomHandler 维护
噪音 合成白噪声/指定模式 9 个方法;按 channel 分通道,modes 返回双向表
声卡 完整音频合成 17 个方法:波形选择、频率、LFSR、FM/AM 调制、ADSR 包络、延时、音量;按 channel 分通道

声卡与噪音卡的独立配置(Config.java:198-220):声卡有独立的 SoundCardPlaybackManager(IntegrationOpenComputers.java:147-151)与 SoundCardPacket(CommonProxy.java:57-58),客户端还注册 DriverCardSound.SyncHandler(IntegrationOpenComputers.java:335-337)。因此 ocSoundCardMaxDelay / ocSoundCardQueueSize / ocSoundCardChannelCount 三项只在声卡启用时才读入。

数值

数值名 值 范围 来源
enable.opencomputers.particleCard true 布尔 Config.java:183
enable.opencomputers.spoofingCard true 布尔 Config.java:184
enable.opencomputers.beepCard true 布尔 Config.java:185
enable.opencomputers.boomCard true 布尔 Config.java:186
enable.opencomputers.noiseCard true 布尔 Config.java:188
enable.opencomputers.soundCard true 布尔 Config.java:189
power.ocParticleCardCostPerParticle 2 RF 0–10000 Config.java:223-230
power.ocSpoofingCardCostPerMessage 2 RF 0–10000 Config.java:232-239
power.ocBeepCardCostPerSound 10 RF 0–10000 Config.java:241-248
power.ocSoundCardCostPerSecond 10 RF 0–10000 Config.java:250-257
sound.ocSoundCardMaxDelay 5000 ms 0–Integer.MAX_VALUE Config.java:199-205
sound.ocSoundCardQueueSize 1024 0–Integer.MAX_VALUE Config.java:206-212
sound.ocSoundCardChannelCount 8 1–65536 Config.java:213-219

ocParticleCardCostPerParticle 会被再乘以到目标的距离(Config.java:229-230)。

交互

变体 宿主限制
meta 3 / 5 / 8 / 9 不能装在 Adapter 上
meta 4 欺骗卡 不能装在 Tablet / Drone / Microcontroller 上(ItemOpenComputers.java:100-105)
meta 6 自毁卡 不能装在 Tablet / Drone 上(ItemOpenComputers.java:106-109)

合成配方

见 OpenComputers 零件。⚠️ 在 GTNH 中不由 Computronics 注册(IntegrationOpenComputers.java:412、:427、:446、:463、:497、:517)。

相关条目