mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-16 02:39:48 -04:00
Merge branch 'master' into sgt
This commit is contained in:
commit
4c622bb9ba
@ -421,7 +421,10 @@ local function onComponentAdded(_, address, componentType)
|
|||||||
name = filesystem.concat("/mnt", name)
|
name = filesystem.concat("/mnt", name)
|
||||||
filesystem.mount(proxy, name)
|
filesystem.mount(proxy, name)
|
||||||
if isAutorunEnabled then
|
if isAutorunEnabled then
|
||||||
shell.execute(filesystem.concat(name, "autorun"), _ENV, proxy)
|
local result, reason = shell.execute(filesystem.concat(name, "autorun"), _ENV, proxy)
|
||||||
|
if not result then
|
||||||
|
error (reason)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -188,6 +188,7 @@ class Computer(val owner: tileentity.Computer) extends ManagedComponent with Con
|
|||||||
case arg: java.lang.Double => arg
|
case arg: java.lang.Double => arg
|
||||||
case arg: java.lang.String => arg
|
case arg: java.lang.String => arg
|
||||||
case arg: Array[Byte] => arg
|
case arg: Array[Byte] => arg
|
||||||
|
case arg: Map[String, String] => arg
|
||||||
case arg =>
|
case arg =>
|
||||||
OpenComputers.log.warning("Trying to push signal with an unsupported argument of type " + arg.getClass.getName)
|
OpenComputers.log.warning("Trying to push signal with an unsupported argument of type " + arg.getClass.getName)
|
||||||
Unit
|
Unit
|
||||||
@ -496,6 +497,15 @@ class Computer(val owner: tileentity.Computer) extends ManagedComponent with Con
|
|||||||
case tag: NBTTagDouble => tag.data
|
case tag: NBTTagDouble => tag.data
|
||||||
case tag: NBTTagString => tag.data
|
case tag: NBTTagString => tag.data
|
||||||
case tag: NBTTagByteArray => tag.byteArray
|
case tag: NBTTagByteArray => tag.byteArray
|
||||||
|
case tag: NBTTagList =>
|
||||||
|
val data = mutable.Map.empty[String, String]
|
||||||
|
for (i <- 0 until tag.tagCount by 2) {
|
||||||
|
(tag.tagAt(i), tag.tagAt(i + 1)) match {
|
||||||
|
case (key: NBTTagString, value: NBTTagString) => data += key.data -> value.data
|
||||||
|
case _ =>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data
|
||||||
case _ => Unit
|
case _ => Unit
|
||||||
}.toArray)
|
}.toArray)
|
||||||
})
|
})
|
||||||
@ -575,6 +585,14 @@ class Computer(val owner: tileentity.Computer) extends ManagedComponent with Con
|
|||||||
case (arg: Double, i) => args.setDouble("arg" + i, arg)
|
case (arg: Double, i) => args.setDouble("arg" + i, arg)
|
||||||
case (arg: String, i) => args.setString("arg" + i, arg)
|
case (arg: String, i) => args.setString("arg" + i, arg)
|
||||||
case (arg: Array[Byte], i) => args.setByteArray("arg" + i, arg)
|
case (arg: Array[Byte], i) => args.setByteArray("arg" + i, arg)
|
||||||
|
case (arg: Map[String, String], i) =>
|
||||||
|
val list = new NBTTagList()
|
||||||
|
for ((key, value) <- arg) {
|
||||||
|
list.append(key)
|
||||||
|
list.append(value)
|
||||||
|
}
|
||||||
|
args.setTag("arg" + i, list)
|
||||||
|
case (_, i) => args.setByte("arg" + i, -1)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
signalsNbt.appendTag(signalNbt)
|
signalsNbt.appendTag(signalNbt)
|
||||||
@ -1269,6 +1287,12 @@ class Computer(val owner: tileentity.Computer) extends ManagedComponent with Con
|
|||||||
case arg: Double => lua.pushNumber(arg)
|
case arg: Double => lua.pushNumber(arg)
|
||||||
case arg: String => lua.pushString(arg)
|
case arg: String => lua.pushString(arg)
|
||||||
case arg: Array[Byte] => lua.pushByteArray(arg)
|
case arg: Array[Byte] => lua.pushByteArray(arg)
|
||||||
|
case arg: Map[String, String] =>
|
||||||
|
lua.newTable(0, arg.size)
|
||||||
|
for ((key, value) <- arg if key != null && value != null) {
|
||||||
|
lua.pushString(value)
|
||||||
|
lua.setField(-2, key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
lua.resume(1, 1 + signal.args.length)
|
lua.resume(1, 1 + signal.args.length)
|
||||||
case _ =>
|
case _ =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user