mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 01:39:36 -04:00
Populate tablet_use
info with sign text if sign upgrade is installed, closes #988.
This commit is contained in:
parent
4d5c923c42
commit
f4bcb0718e
@ -2,12 +2,16 @@ package li.cil.oc.server.component
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.Event
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.api.driver.EnvironmentHost
|
||||
import li.cil.oc.api.internal
|
||||
import li.cil.oc.api.network.Message
|
||||
import li.cil.oc.api.prefab
|
||||
import li.cil.oc.util.BlockPosition
|
||||
import li.cil.oc.util.ExtendedWorld._
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
import net.minecraft.tileentity.TileEntitySign
|
||||
import net.minecraft.world.WorldServer
|
||||
import net.minecraftforge.common.MinecraftForge
|
||||
@ -62,4 +66,20 @@ abstract class UpgradeSign extends prefab.ManagedEnvironment {
|
||||
MinecraftForge.EVENT_BUS.post(event)
|
||||
!(event.isCanceled || event.getResult == Event.Result.DENY)
|
||||
}
|
||||
|
||||
override def onMessage(message: Message): Unit = {
|
||||
super.onMessage(message)
|
||||
if (message.name == "tablet.use") message.source.host match {
|
||||
case machine: api.machine.Machine => (machine.host, message.data) match {
|
||||
case (tablet: internal.Tablet, Array(nbt: NBTTagCompound, stack: ItemStack, player: EntityPlayer, blockPos: BlockPosition, side: ForgeDirection, hitX: java.lang.Float, hitY: java.lang.Float, hitZ: java.lang.Float)) =>
|
||||
host.world.getTileEntity(blockPos) match {
|
||||
case sign: TileEntitySign =>
|
||||
nbt.setString("signText", sign.signText.mkString("\n"))
|
||||
case _ =>
|
||||
}
|
||||
case _ => // Ignore.
|
||||
}
|
||||
case _ => // Ignore.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user