case Array("saveConfiguration") =>
val nanomachines = api.Items.get(Constants.ItemName.Nanomachines)
try {
val index = player.inventory.mainInventory.indexWhere(stack => api.Items.get(stack) == nanomachines && new NanomachineData(stack).configuration.isEmpty)
if (index >= 0) {
val stack = player.inventory.decrStackSize(index, 1)
new NanomachineData(this).save(stack)
player.inventory.addItemStackToInventory(stack)
InventoryUtils.spawnStackInWorld(BlockPosition(player), stack)
respond(sender, "saved", true)
}
else respond(sender, "saved", false, "no nanomachines")
}
catch {
case _: Throwable =>
respond(sender, "saved", false, "error")
}