Made it so that robots can also send and receive wired network messages.

This commit is contained in:
Florian Nücke 2014-07-07 01:34:41 +02:00
parent 26c4fa4161
commit a9e3cd907c
2 changed files with 17 additions and 1 deletions

View File

@ -65,6 +65,14 @@ class RobotProxy(val robot: Robot) extends traits.Computer with traits.PowerInfo
def isRunning(context: Context, args: Arguments): Array[AnyRef] =
result(computer.isRunning)
override def onMessage(message: Message) {
super.onMessage(message)
if (message.name == "network.message" && message.source != robot.node) message.data match {
case Array(packet: Packet) => robot.node.sendToReachable(message.name, packet)
case _ =>
}
}
// ----------------------------------------------------------------------- //
override def updateEntity() {

View File

@ -22,7 +22,7 @@ import net.minecraftforge.fluids.FluidRegistry
import scala.collection.convert.WrapAsScala._
class Robot(val robot: tileentity.Robot) extends ManagedComponent {
val node = api.Network.newNode(this, Visibility.Neighbors).
val node = api.Network.newNode(this, Visibility.Network).
withComponent("robot").
withConnector(Settings.get.bufferRobot).
create()
@ -494,6 +494,14 @@ class Robot(val robot: tileentity.Robot) extends ManagedComponent {
}
}
override def onMessage(message: Message) {
super.onMessage(message)
if (message.name == "network.message" && message.source != robot.proxy.node) message.data match {
case Array(packet: Packet) => robot.proxy.node.sendToReachable(message.name, packet)
case _ =>
}
}
// ----------------------------------------------------------------------- //
override def load(nbt: NBTTagCompound) {