mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 09:46:53 -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 cpw.mods.fml.common.eventhandler.Event
|
||||||
import li.cil.oc.Settings
|
import li.cil.oc.Settings
|
||||||
|
import li.cil.oc.api
|
||||||
import li.cil.oc.api.driver.EnvironmentHost
|
import li.cil.oc.api.driver.EnvironmentHost
|
||||||
import li.cil.oc.api.internal
|
import li.cil.oc.api.internal
|
||||||
|
import li.cil.oc.api.network.Message
|
||||||
import li.cil.oc.api.prefab
|
import li.cil.oc.api.prefab
|
||||||
import li.cil.oc.util.BlockPosition
|
import li.cil.oc.util.BlockPosition
|
||||||
import li.cil.oc.util.ExtendedWorld._
|
import li.cil.oc.util.ExtendedWorld._
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
|
import net.minecraft.item.ItemStack
|
||||||
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.tileentity.TileEntitySign
|
import net.minecraft.tileentity.TileEntitySign
|
||||||
import net.minecraft.world.WorldServer
|
import net.minecraft.world.WorldServer
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
@ -62,4 +66,20 @@ abstract class UpgradeSign extends prefab.ManagedEnvironment {
|
|||||||
MinecraftForge.EVENT_BUS.post(event)
|
MinecraftForge.EVENT_BUS.post(event)
|
||||||
!(event.isCanceled || event.getResult == Event.Result.DENY)
|
!(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