mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-15 02:12:42 -04:00
Fixery for refactory.
This commit is contained in:
parent
f2e6cf1896
commit
5e313d4fe7
@ -17,8 +17,8 @@ import net.minecraftforge.fluids.IFluidHandler;
|
|||||||
* follows:
|
* follows:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Tool</li>
|
* <li>Tool</li>
|
||||||
* <li><tt>containerCount</tt> hot-swappable components.</li>
|
* <li><tt>equipmentInventory.getSizeInventory</tt> hot-swappable components.</li>
|
||||||
* <li><tt>inventorySize</tt> internal inventory slots.</li>
|
* <li><tt>mainInventory.getSizeInventory</tt> internal inventory slots.</li>
|
||||||
* <li><tt>componentCount</tt> hard-wired components.</li>
|
* <li><tt>componentCount</tt> hard-wired components.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* Note that there may be no hot-swappable (or even built-in) components or
|
* Note that there may be no hot-swappable (or even built-in) components or
|
||||||
@ -28,26 +28,11 @@ import net.minecraftforge.fluids.IFluidHandler;
|
|||||||
* This interface is <em>not meant to be implemented</em>, just used.
|
* This interface is <em>not meant to be implemented</em>, just used.
|
||||||
*/
|
*/
|
||||||
public interface Robot extends Agent, Environment, EnvironmentHost, Rotatable, Tiered, ISidedInventory, IFluidHandler {
|
public interface Robot extends Agent, Environment, EnvironmentHost, Rotatable, Tiered, ISidedInventory, IFluidHandler {
|
||||||
/**
|
|
||||||
* The number of hot-swappable component slots in this robot.
|
|
||||||
* <p/>
|
|
||||||
* <em>Note</em>: this will always be three, regardless of the number of
|
|
||||||
* installed containers. For unused slots the inventory will simply be
|
|
||||||
* empty at that slot.
|
|
||||||
*/
|
|
||||||
int containerCount();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The number of built-in components in this robot.
|
* The number of built-in components in this robot.
|
||||||
*/
|
*/
|
||||||
int componentCount();
|
int componentCount();
|
||||||
|
|
||||||
/**
|
|
||||||
* The size of the internal inventory in this robot, excluding tool and
|
|
||||||
* component slots.
|
|
||||||
*/
|
|
||||||
int inventorySize();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the environment for the component in the specified slot.
|
* Get the environment for the component in the specified slot.
|
||||||
* <p/>
|
* <p/>
|
||||||
|
@ -139,8 +139,10 @@ class Robot extends traits.Computer with traits.PowerInformation with IFluidHand
|
|||||||
|
|
||||||
override def setSelectedSlot(index: Int): Unit = {
|
override def setSelectedSlot(index: Int): Unit = {
|
||||||
selectedSlot = index max 0 min mainInventory.getSizeInventory - 1
|
selectedSlot = index max 0 min mainInventory.getSizeInventory - 1
|
||||||
|
if (world != null) {
|
||||||
ServerPacketSender.sendRobotSelectedSlotChange(this)
|
ServerPacketSender.sendRobotSelectedSlotChange(this)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val tank = new internal.MultiTank {
|
val tank = new internal.MultiTank {
|
||||||
override def tankCount = Robot.this.tankCount
|
override def tankCount = Robot.this.tankCount
|
||||||
@ -157,7 +159,7 @@ class Robot extends traits.Computer with traits.PowerInformation with IFluidHand
|
|||||||
|
|
||||||
// Fixed number of containers (mostly due to GUI limitation, but also because
|
// Fixed number of containers (mostly due to GUI limitation, but also because
|
||||||
// I find three to be a large enough number for sufficient flexibility).
|
// I find three to be a large enough number for sufficient flexibility).
|
||||||
override def containerCount = 3
|
def containerCount = 3
|
||||||
|
|
||||||
override def componentCount = info.components.length
|
override def componentCount = info.components.length
|
||||||
|
|
||||||
|
@ -40,10 +40,16 @@ class RobotProxy(val robot: Robot) extends traits.Computer with traits.PowerInfo
|
|||||||
|
|
||||||
override def tank = robot.tank
|
override def tank = robot.tank
|
||||||
|
|
||||||
|
override def selectedSlot = robot.selectedSlot
|
||||||
|
|
||||||
override def setSelectedSlot(index: Int) = robot.setSelectedSlot(index)
|
override def setSelectedSlot(index: Int) = robot.setSelectedSlot(index)
|
||||||
|
|
||||||
|
override def selectedTank = robot.selectedTank
|
||||||
|
|
||||||
override def setSelectedTank(index: Int) = robot.setSelectedTank(index)
|
override def setSelectedTank(index: Int) = robot.setSelectedTank(index)
|
||||||
|
|
||||||
|
override def player() = robot.player()
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
override def connectComponents() {}
|
override def connectComponents() {}
|
||||||
@ -56,20 +62,12 @@ class RobotProxy(val robot: Robot) extends traits.Computer with traits.PowerInfo
|
|||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
override def setRunning(value: Boolean) = robot.setRunning(value)
|
override def setRunning(value: Boolean) = robot.setRunning(value)
|
||||||
|
|
||||||
override def player() = robot.player()
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
override def containerCount = robot.containerCount
|
|
||||||
|
|
||||||
override def componentCount = robot.componentCount
|
override def componentCount = robot.componentCount
|
||||||
|
|
||||||
override def inventorySize = robot.inventorySize
|
|
||||||
|
|
||||||
override def getComponentInSlot(index: Int) = robot.getComponentInSlot(index)
|
override def getComponentInSlot(index: Int) = robot.getComponentInSlot(index)
|
||||||
|
|
||||||
override def selectedSlot = robot.selectedSlot
|
|
||||||
|
|
||||||
override def selectedTank = robot.selectedTank
|
|
||||||
|
|
||||||
override def synchronizeSlot(slot: Int) = robot.synchronizeSlot(slot)
|
override def synchronizeSlot(slot: Int) = robot.synchronizeSlot(slot)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
@ -188,6 +188,7 @@ class Machine(val host: MachineHost) extends prefab.ManagedEnvironment with mach
|
|||||||
|
|
||||||
override def start(): Boolean = state.synchronized(state.top match {
|
override def start(): Boolean = state.synchronized(state.top match {
|
||||||
case Machine.State.Stopped =>
|
case Machine.State.Stopped =>
|
||||||
|
onHostChanged()
|
||||||
processAddedComponents()
|
processAddedComponents()
|
||||||
verifyComponents()
|
verifyComponents()
|
||||||
if (!Settings.get.ignorePower && node.globalBuffer < cost) {
|
if (!Settings.get.ignorePower && node.globalBuffer < cost) {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package li.cil.oc.util
|
package li.cil.oc.util
|
||||||
|
|
||||||
import li.cil.oc.api.internal.MultiTank
|
import li.cil.oc.api.internal.MultiTank
|
||||||
import li.cil.oc.api.internal.Robot
|
|
||||||
import li.cil.oc.api.machine.Arguments
|
import li.cil.oc.api.machine.Arguments
|
||||||
import net.minecraft.inventory.IInventory
|
import net.minecraft.inventory.IInventory
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
@ -38,14 +37,6 @@ object ExtendedArguments {
|
|||||||
else default
|
else default
|
||||||
}
|
}
|
||||||
|
|
||||||
def checkSlot(robot: Robot, n: Int) = {
|
|
||||||
val slot = args.checkInteger(n) - 1
|
|
||||||
if (slot < 0 || slot >= robot.inventorySize) {
|
|
||||||
throw new IllegalArgumentException("invalid slot")
|
|
||||||
}
|
|
||||||
slot + 1 + robot.containerCount
|
|
||||||
}
|
|
||||||
|
|
||||||
def checkTank(multi: MultiTank, n: Int) = {
|
def checkTank(multi: MultiTank, n: Int) = {
|
||||||
val tank = args.checkInteger(n) - 1
|
val tank = args.checkInteger(n) - 1
|
||||||
if (tank < 0 || tank >= multi.tankCount) {
|
if (tank < 0 || tank >= multi.tankCount) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user