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)。
相关条目