Nanomachines are a configurable buff system. Using energy as a resource, they are able to apply various positive and negative effects to the player.
The player has to “eat” them before they can be used. Once ingested, a power indicator in the HUD, positioned left of the item bar, will indicate how much energy the nanomachines have left. Their energy can be recharged by standing close to a Charger. Energy is slowly used over time proportional to the number of active inputs. A small amount of energy is still lost over time even when all inputs are deactivated.
They provide a certain number of “inputs” that can be toggled, causing many different effects on the player, ranging from visual effects such as particles spawning near the player, to select potion effects and some more rare and special behaviors.
Which input triggers what effect depends on the current configuration of the nanomachines, the actual “connections” being random per configuration. Which input does what is not clear to the player until they try it. The configuration can be changed by ingesting a new batch of nanomachines. Additionally, enabling too many inputs at a time has severe negative effects.
See the nanomachines
section in the config for fine tuning to your preference.
To dispose of nanomachines, the player has to drink Grog.
Nanomachines are crafted using the following recipe:
Programming the machines happens through wireless messages. The range nanomachines are able to receive messages from is only about two meters, though this can be circumvented easily by using a tablet to send the messages. However, the nanomachines do not check which device sent the messages they receive.
Nanomachines react to a simple, proprietary protocol: each packet must consist of multiple parts, the first of which is the “header” and must equal the string nanomachines
. The second part must be the command name. Additional parts are parameters for the command. The following commands are available, formatted as commandName(arg1, ...)
:
setResponsePort(port:number)
- Set the port nanomachines should send response messages to, for commands that have a response.getPowerState()
- Request the currently stored and maximum stored energy of the nanomachines.getHealth()
- Request the player's health state.getHunger()
- Request the player's hunger state.getAge()
- Request the player's age in seconds.getName()
- Request the player's display name.getExperience()
- Request the player's experience level.getTotalInputCount()
- Request the total number of available inputs.getSafeActiveInputs()
- Request the number of safe active inputs.getMaxActiveInputs()
- Request the number of maximum active inputs.getInput(index:number)
- Request the current state of the input with the specified index.setInput(index:number, value:boolean)
- Set the state of the input with the specified index to the specified value.getActiveEffects()
- Request a list of active effects. Note that some effects may not show up in this list.saveConfiguration()
- Requires a set of nanomachines in the players inventory, will store the current configuration to it.For example, in OpenOS:
component.modem.broadcast(1, "nanomachines", "setInput", 1, true)
will enable the first input.component.modem.broadcast(1, "nanomachines", "getHealth")
will get the player's health info.Nanomachines Preview (slightly outdated)
物品 | 扩展卡 | 调试卡 - 数据卡 - 显卡 - 因特网卡 - 连接卡 - 网卡 - 红石卡 - 无线网卡 |
---|---|---|
存储设备 | 软盘 - EEPROM - 硬盘 - 内存条 | |
升级 | 天使升级 - 电池升级 - 区块加载升级 - 合成升级 - 数据库升级 - 经验升级 - 发电机升级 - 悬浮升级 - 物品栏控制器升级 - 物品栏升级 - 拴绳升级 - 导航升级 - 活塞升级 - 告示牌读写升级 - 太阳能发电机升级 - 储罐升级 - 储罐控制器升级 - 牵引光束升级 - 世界传感器升级 | |
容器 | 扩展卡容器 - 升级容器 | |
其它 | 分析器 - 纹理获取器 - 组件总线 - CPU - APU - 无人机外壳 - 开放式电脑手册 - 微控制器外壳 - 纳米机器 - 远程终端 - 终端服务器 - 服务器 - 平板电脑外壳 - 平板电脑 - 制作材料 - 墨盒 - 螺丝刀扳手 - 悬浮靴子 - 蚀刻药水 - 战利品软盘 |