mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-16 02:39:48 -04:00
added reader not WIP
This commit is contained in:
parent
073ef1fee5
commit
717de3f468
@ -32,6 +32,7 @@ object Items {
|
|||||||
var crafting: item.Crafting = null
|
var crafting: item.Crafting = null
|
||||||
var generator: item.Generator = null
|
var generator: item.Generator = null
|
||||||
var solarGenerator: item.SolarGenerator = null
|
var solarGenerator: item.SolarGenerator = null
|
||||||
|
var reader:item.Reader = null
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
// Crafting
|
// Crafting
|
||||||
@ -106,6 +107,7 @@ object Items {
|
|||||||
|
|
||||||
//new for next release
|
//new for next release
|
||||||
solarGenerator = new item.SolarGenerator(multi)
|
solarGenerator = new item.SolarGenerator(multi)
|
||||||
|
reader = new item.Reader(multi)
|
||||||
|
|
||||||
OreDictionary.registerOre("nuggetIron", ironNugget.createItemStack())
|
OreDictionary.registerOre("nuggetIron", ironNugget.createItemStack())
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,7 @@ class Proxy {
|
|||||||
api.Driver.add(driver.item.GraphicsCard)
|
api.Driver.add(driver.item.GraphicsCard)
|
||||||
api.Driver.add(driver.item.Memory)
|
api.Driver.add(driver.item.Memory)
|
||||||
api.Driver.add(driver.item.NetworkCard)
|
api.Driver.add(driver.item.NetworkCard)
|
||||||
|
api.Driver.add(driver.item.Reader)
|
||||||
api.Driver.add(driver.item.RedstoneCard)
|
api.Driver.add(driver.item.RedstoneCard)
|
||||||
api.Driver.add(driver.item.WirelessNetworkCard)
|
api.Driver.add(driver.item.WirelessNetworkCard)
|
||||||
|
|
||||||
|
25
li/cil/oc/common/item/Reader.scala
Normal file
25
li/cil/oc/common/item/Reader.scala
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package li.cil.oc.common.item
|
||||||
|
|
||||||
|
import java.util
|
||||||
|
import li.cil.oc.Settings
|
||||||
|
import li.cil.oc.util.Tooltip
|
||||||
|
import net.minecraft.client.renderer.texture.IconRegister
|
||||||
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
|
import net.minecraft.item.{EnumRarity, ItemStack}
|
||||||
|
|
||||||
|
class Reader(val parent: Delegator) extends Delegate {
|
||||||
|
val unlocalizedName = "Reader"
|
||||||
|
|
||||||
|
override def rarity = EnumRarity.epic
|
||||||
|
|
||||||
|
override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||||
|
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||||
|
super.tooltipLines(stack, player, tooltip, advanced)
|
||||||
|
}
|
||||||
|
|
||||||
|
override def registerIcons(iconRegister: IconRegister) = {
|
||||||
|
super.registerIcons(iconRegister)
|
||||||
|
|
||||||
|
icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_reader")
|
||||||
|
}
|
||||||
|
}
|
78
li/cil/oc/server/component/Reader.scala
Normal file
78
li/cil/oc/server/component/Reader.scala
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
package li.cil.oc.server.component
|
||||||
|
|
||||||
|
import li.cil.oc.api.network._
|
||||||
|
import li.cil.oc.util.ExtendedNBT._
|
||||||
|
import li.cil.oc.{Settings, api}
|
||||||
|
import net.minecraft.entity.item.EntityItem
|
||||||
|
import net.minecraft.item.ItemStack
|
||||||
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
|
import net.minecraft.tileentity.{TileEntity => MCTileEntity, TileEntitySign, TileEntityFurnace}
|
||||||
|
import scala.Some
|
||||||
|
import li.cil.oc.common.tileentity.Rotatable
|
||||||
|
|
||||||
|
class Reader(val owner: MCTileEntity) extends ManagedComponent {
|
||||||
|
val node = api.Network.newNode(this, Visibility.Network).
|
||||||
|
withComponent("reader", Visibility.Neighbors).
|
||||||
|
withConnector().
|
||||||
|
create()
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
@LuaCallback("read")
|
||||||
|
def read(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||||
|
owner match {
|
||||||
|
case rotatable: Rotatable => {
|
||||||
|
val te = rotatable.getWorldObj.getBlockTileEntity(rotatable.xCoord+rotatable.facing.offsetX,rotatable.yCoord+rotatable.facing.offsetY,rotatable.zCoord+rotatable.facing.offsetZ)
|
||||||
|
te match{
|
||||||
|
case sign:TileEntitySign=>{
|
||||||
|
val text = sign.signText.mkString("\n")
|
||||||
|
|
||||||
|
return result(text)
|
||||||
|
}
|
||||||
|
case _=>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case _ =>
|
||||||
|
}
|
||||||
|
result(Unit, "no sign")
|
||||||
|
}
|
||||||
|
|
||||||
|
@LuaCallback("write")
|
||||||
|
def write(context: Context, args: Arguments): Array[AnyRef] = {
|
||||||
|
owner match {
|
||||||
|
case rotatable: Rotatable => {
|
||||||
|
val te = rotatable.getWorldObj.getBlockTileEntity(rotatable.xCoord+rotatable.facing.offsetX,rotatable.yCoord+rotatable.facing.offsetY,rotatable.zCoord+rotatable.facing.offsetZ)
|
||||||
|
te match{
|
||||||
|
case sign:TileEntitySign=>{
|
||||||
|
val text = args.checkString(0).split("\n")
|
||||||
|
val number = Math.min(4,text.size)
|
||||||
|
for(i <-0 to number-1){
|
||||||
|
var line = text(i)
|
||||||
|
if(line.size>15){
|
||||||
|
line = line.substring(0,15)
|
||||||
|
}
|
||||||
|
sign.signText(i)= line
|
||||||
|
}
|
||||||
|
|
||||||
|
sign.worldObj.markBlockForUpdate(rotatable.xCoord+rotatable.facing.offsetX,rotatable.yCoord+rotatable.facing.offsetY,rotatable.zCoord+rotatable.facing.offsetZ)
|
||||||
|
return result(true)
|
||||||
|
}
|
||||||
|
case _=>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case _ =>
|
||||||
|
}
|
||||||
|
result(Unit, "no sign")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
override val canUpdate = false
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
|
||||||
|
}
|
15
li/cil/oc/server/driver/item/Reader.scala
Normal file
15
li/cil/oc/server/driver/item/Reader.scala
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package li.cil.oc.server.driver.item
|
||||||
|
|
||||||
|
import li.cil.oc.Items
|
||||||
|
import li.cil.oc.api.driver.Slot
|
||||||
|
import li.cil.oc.server.component
|
||||||
|
import net.minecraft.item.ItemStack
|
||||||
|
import net.minecraft.tileentity.{TileEntity => MCTileEntity}
|
||||||
|
|
||||||
|
object Reader extends Item {
|
||||||
|
override def worksWith(stack: ItemStack) = isOneOf(stack, Items.reader)
|
||||||
|
|
||||||
|
override def createEnvironment(stack: ItemStack, container: MCTileEntity) = new component.Reader(container)
|
||||||
|
|
||||||
|
override def slot(stack: ItemStack) = Slot.Upgrade
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user