mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-28 07:25:35 -04:00
Merge branch 'master' of github.com:MightyPirates/OpenComputers into MC1.7
This commit is contained in:
commit
1089e111d8
@ -2,13 +2,19 @@ package li.cil.oc.server.component
|
||||
|
||||
import li.cil.oc.api.network._
|
||||
import li.cil.oc.api.{Rotatable, Network}
|
||||
import li.cil.oc.Settings
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
import net.minecraft.tileentity.TileEntity
|
||||
|
||||
class UpgradeNavigation(val owner: TileEntity, val xCenter: Int, val zCenter: Int, val size: Int) extends ManagedComponent {
|
||||
class UpgradeNavigation(val owner: TileEntity) extends ManagedComponent {
|
||||
val node = Network.newNode(this, Visibility.Network).
|
||||
withComponent("navigation", Visibility.Neighbors).
|
||||
create()
|
||||
|
||||
var xCenter = owner.xCoord
|
||||
var zCenter = owner.zCoord
|
||||
var size = 512
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
@Callback(doc = """function():number, number, number -- Get the current relative position of the robot.""")
|
||||
@ -37,4 +43,26 @@ class UpgradeNavigation(val owner: TileEntity, val xCenter: Int, val zCenter: In
|
||||
def getRange(context: Context, args: Arguments): Array[AnyRef] = {
|
||||
result(size / 2)
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def load(nbt: NBTTagCompound) {
|
||||
super.load(nbt)
|
||||
if (nbt.hasKey(Settings.namespace + "xCenter")) {
|
||||
xCenter = nbt.getInteger(Settings.namespace + "xCenter")
|
||||
}
|
||||
if (nbt.hasKey(Settings.namespace + "zCenter")) {
|
||||
zCenter = nbt.getInteger(Settings.namespace + "zCenter")
|
||||
}
|
||||
if (nbt.hasKey(Settings.namespace + "scale")) {
|
||||
size = nbt.getInteger(Settings.namespace + "scale")
|
||||
}
|
||||
}
|
||||
|
||||
override def save(nbt: NBTTagCompound) {
|
||||
super.save(nbt)
|
||||
nbt.setInteger(Settings.namespace + "xCenter", xCenter)
|
||||
nbt.setInteger(Settings.namespace + "zCenter", zCenter)
|
||||
nbt.setInteger(Settings.namespace + "scale", size)
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ package li.cil.oc.server.driver.item
|
||||
import li.cil.oc.api.driver.Slot
|
||||
import li.cil.oc.server.component
|
||||
import li.cil.oc.server.driver.Registry
|
||||
import li.cil.oc.{Settings, Items}
|
||||
import li.cil.oc.Items
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.tileentity.TileEntity
|
||||
|
||||
@ -15,10 +15,7 @@ object UpgradeNavigation extends Item {
|
||||
case Some(driver) => driver.dataTag(stack)
|
||||
case _ => null
|
||||
}
|
||||
val x = if (nbt.hasKey(Settings.namespace + "xCenter")) nbt.getInteger(Settings.namespace + "xCenter") else container.xCoord
|
||||
val z = if (nbt.hasKey(Settings.namespace + "zCenter")) nbt.getInteger(Settings.namespace + "zCenter") else container.zCoord
|
||||
val size = if (nbt.hasKey(Settings.namespace + "scale")) nbt.getInteger(Settings.namespace + "scale") else 512
|
||||
new component.UpgradeNavigation(container, x, z, size)
|
||||
new component.UpgradeNavigation(container)
|
||||
}
|
||||
|
||||
override def slot(stack: ItemStack) = Slot.Upgrade
|
||||
|
Loading…
x
Reference in New Issue
Block a user