I think this should work. Closes #1839.

This commit is contained in:
Florian Nücke 2016-05-30 20:46:53 +02:00
parent 9acb5eb26f
commit aa546dfce5
4 changed files with 23 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import java.io.EOFException
import cpw.mods.fml.common.eventhandler.SubscribeEvent
import cpw.mods.fml.common.network.FMLNetworkEvent.ClientCustomPacketEvent
import li.cil.oc.Localization
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.event.FileSystemAccessEvent
@ -43,6 +44,7 @@ object PacketHandler extends CommonPacketHandler {
case PacketType.AbstractBusState => onAbstractBusState(p)
case PacketType.Analyze => onAnalyze(p)
case PacketType.ChargerState => onChargerState(p)
case PacketType.ClientLog => onClientLog(p)
case PacketType.ColorChange => onColorChange(p)
case PacketType.ComputerState => onComputerState(p)
case PacketType.ComputerUserList => onComputerUserList(p)
@ -117,6 +119,10 @@ object PacketHandler extends CommonPacketHandler {
case _ => // Invalid packet.
}
def onClientLog(p: PacketParser) = {
OpenComputers.log.info(p.readUTF())
}
def onColorChange(p: PacketParser) =
p.readTileEntity[Colored]() match {
case Some(t) =>

View File

@ -6,6 +6,7 @@ object PacketType extends Enumeration {
AbstractBusState,
Analyze,
ChargerState,
ClientLog,
ColorChange,
ComputerState,
ComputerUserList,

View File

@ -6,14 +6,15 @@ import li.cil.oc.api
import li.cil.oc.api.Persistable
import li.cil.oc.api.nanomachines.Behavior
import li.cil.oc.api.nanomachines.BehaviorProvider
import li.cil.oc.server.PacketSender
import li.cil.oc.util.ExtendedNBT._
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.entity.player.EntityPlayerMP
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.util.ChatComponentText
import net.minecraft.util.EnumChatFormatting
import net.minecraftforge.common.util.Constants.NBT
import scala.StringBuilder
import scala.collection.convert.WrapAsScala._
import scala.collection.mutable
import scala.util.Random
@ -97,7 +98,11 @@ class NeuralNetwork(controller: ControllerImpl) extends Persistable {
// Enter debug configuration, one input -> one behavior, and list mapping in console.
def debug(): Unit = {
OpenComputers.log.info(s"Creating debug configuration for nanomachines in player ${controller.player.getDisplayName}.")
val log = controller.player match {
case playerMP: EntityPlayerMP => (s: String) => PacketSender.sendClientLog(s, playerMP)
case _ => (s: String) => OpenComputers.log.info(s)
}
log(s"Creating debug configuration for nanomachines in player ${controller.player.getDisplayName}.")
behaviors.clear()
behaviors ++= api.Nanomachines.getProviders.
@ -114,7 +119,7 @@ class NeuralNetwork(controller: ControllerImpl) extends Persistable {
triggers += trigger
behavior.inputs += trigger
OpenComputers.log.info(s"$i -> ${behavior.behavior.getNameHint} (${behavior.behavior.getClass.toString})")
log(s"$i -> ${behavior.behavior.getNameHint} (${behavior.behavior.getClass.toString})")
}
}

View File

@ -50,6 +50,14 @@ object PacketSender {
pb.sendToPlayersNearTileEntity(t)
}
def sendClientLog(line: String, player: EntityPlayerMP) {
val pb = new CompressedPacketBuilder(PacketType.ClientLog)
pb.writeUTF(line)
pb.sendToPlayer(player)
}
def sendColorChange(t: Colored) {
val pb = new SimplePacketBuilder(PacketType.ColorChange)