Little refactoring in preparation of generalizing robot fake player.

This commit is contained in:
Florian Nücke 2015-02-04 00:50:45 +01:00
parent 1561854e5b
commit f36505f0ff
11 changed files with 24 additions and 22 deletions

View File

@ -13,7 +13,7 @@ import li.cil.oc.common.item.data.RobotData
import li.cil.oc.common.tileentity
import li.cil.oc.integration.util.NEI
import li.cil.oc.server.PacketSender
import li.cil.oc.server.component.robot
import li.cil.oc.server.agent
import li.cil.oc.util.Rarity
import li.cil.oc.util.Tooltip
import net.minecraft.client.renderer.texture.IIconRegister
@ -224,7 +224,7 @@ class RobotProxy extends RedstoneAware with traits.SpecialBlock with traits.Stat
override def onBlockPlacedBy(world: World, x: Int, y: Int, z: Int, entity: EntityLivingBase, stack: ItemStack) {
super.onBlockPlacedBy(world, x, y, z, entity, stack)
if (!world.isRemote) ((entity, world.getTileEntity(x, y, z)) match {
case (player: robot.Player, proxy: tileentity.RobotProxy) =>
case (player: agent.Player, proxy: tileentity.RobotProxy) =>
Some((proxy.robot, player.robot.owner, player.robot.ownerUuid))
case (player: EntityPlayer, proxy: tileentity.RobotProxy) =>
Some((proxy.robot, player.getCommandSenderName, Option(player.getGameProfile.getId)))

View File

@ -21,8 +21,11 @@ import li.cil.oc.common.item.data.RobotData
import li.cil.oc.integration.opencomputers.DriverKeyboard
import li.cil.oc.integration.opencomputers.DriverRedstoneCard
import li.cil.oc.integration.opencomputers.DriverScreen
import li.cil.oc.server.component.robot
import li.cil.oc.server.component.robot.Inventory
import li.cil.oc.server.agent.Inventory
import li.cil.oc.server.agent
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.server.component
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.BlockPosition
import li.cil.oc.util.ExtendedNBT._
@ -52,7 +55,7 @@ class Robot extends traits.Computer with traits.PowerInformation with IFluidHand
val info = new RobotData()
val bot = if (isServer) new robot.Robot(this) else null
val bot = if (isServer) new component.Robot(this) else null
val inventory = new Inventory(this)
@ -170,7 +173,7 @@ class Robot extends traits.Computer with traits.PowerInformation with IFluidHand
var appliedToolEnchantments = false
private lazy val player_ = new robot.Player(this)
private lazy val player_ = new agent.Player(this)
def determineUUID(playerUUID: Option[UUID] = None) = {
val format = Settings.get.uuidFormat

View File

@ -8,6 +8,7 @@ import li.cil.oc.common
import li.cil.oc.common.tileentity
import li.cil.oc.integration.util.BundledRedstone
import li.cil.oc.server.component
import li.cil.oc.server.component.Robot
import li.cil.oc.server.machine.Machine
import net.minecraft.block.Block
import net.minecraft.item.ItemBlock
@ -35,7 +36,7 @@ object DriverBlockEnvironments extends driver.Block with EnvironmentAware {
else if (isOneOf(block.field_150939_a, "redstone")) if (BundledRedstone.isAvailable) classOf[component.Redstone.Bundled] else classOf[component.Redstone.Vanilla]
else if (isOneOf(block.field_150939_a, "screen1")) classOf[common.component.TextBuffer].asInstanceOf[Class[_ <: Environment]]
else if (isOneOf(block.field_150939_a, "screen2", "screen3")) classOf[common.component.Screen]
else if (isOneOf(block.field_150939_a, "robot")) classOf[component.robot.Robot].asInstanceOf[Class[_ <: Environment]]
else if (isOneOf(block.field_150939_a, "robot")) classOf[Robot].asInstanceOf[Class[_ <: Environment]]
else if (isOneOf(block.field_150939_a, "drone")) classOf[component.Drone].asInstanceOf[Class[_ <: Environment]]
else null
case _ => null

View File

@ -1,4 +1,4 @@
package li.cil.oc.server.component.robot
package li.cil.oc.server.agent
object ActivationType extends Enumeration {
val None, ItemUsed, ItemPlaced, BlockActivated = Value

View File

@ -1,4 +1,4 @@
package li.cil.oc.server.component.robot
package li.cil.oc.server.agent
import io.netty.util.concurrent.Future
import io.netty.util.concurrent.GenericFutureListener

View File

@ -1,4 +1,4 @@
package li.cil.oc.server.component.robot
package li.cil.oc.server.agent
import li.cil.oc.common.tileentity
import net.minecraft.block.Block

View File

@ -1,4 +1,4 @@
package li.cil.oc.server.component.robot
package li.cil.oc.server.agent
import com.mojang.authlib.GameProfile
import cpw.mods.fml.common.ObfuscationReflectionHelper

View File

@ -1,4 +1,4 @@
package li.cil.oc.server.component.robot
package li.cil.oc.server.component
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
@ -11,13 +11,13 @@ import li.cil.oc.api.network._
import li.cil.oc.api.prefab
import li.cil.oc.common.ToolDurabilityProviders
import li.cil.oc.common.tileentity
import li.cil.oc.server.component.traits
import li.cil.oc.server.agent.ActivationType
import li.cil.oc.server.agent.Player
import li.cil.oc.server.{PacketSender => ServerPacketSender}
import li.cil.oc.util.BlockPosition
import li.cil.oc.util.ExtendedArguments._
import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.ExtendedWorld._
import li.cil.oc.util.ResultWrapper.result
import net.minecraft.entity.Entity
import net.minecraft.entity.EntityLivingBase
import net.minecraft.entity.item.EntityMinecart

View File

@ -3,7 +3,7 @@ package li.cil.oc.server.component
import cpw.mods.fml.common.FMLCommonHandler
import li.cil.oc.api.Network
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.internal.Robot
import li.cil.oc.api.internal
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
import li.cil.oc.api.machine.Context
@ -13,15 +13,13 @@ import net.minecraft.entity.player.EntityPlayer
import net.minecraft.inventory
import net.minecraft.item.ItemStack
import net.minecraft.item.crafting.CraftingManager
import net.minecraft.item.crafting.IRecipe
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent
import scala.collection.convert.WrapAsScala._
import scala.collection.mutable
import scala.util.control.Breaks._
class UpgradeCrafting(val host: EnvironmentHost with Robot) extends prefab.ManagedEnvironment {
class UpgradeCrafting(val host: EnvironmentHost with internal.Robot) extends prefab.ManagedEnvironment {
override val node = Network.newNode(this, Visibility.Network).
withComponent("crafting").
create()

View File

@ -5,7 +5,7 @@ import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Network
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.internal.Robot
import li.cil.oc.api.internal
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
import li.cil.oc.api.machine.Context
@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.tileentity.TileEntityFurnace
class UpgradeGenerator(val host: EnvironmentHost with Robot) extends prefab.ManagedEnvironment {
class UpgradeGenerator(val host: EnvironmentHost with internal.Robot) extends prefab.ManagedEnvironment {
override val node = Network.newNode(this, Visibility.Network).
withComponent("generator", Visibility.Neighbors).
withConnector().

View File

@ -3,7 +3,7 @@ package li.cil.oc.server.component
import cpw.mods.fml.common.eventhandler.Event
import li.cil.oc.Settings
import li.cil.oc.api.driver.EnvironmentHost
import li.cil.oc.api.internal.Robot
import li.cil.oc.api.internal
import li.cil.oc.api.prefab
import li.cil.oc.util.BlockPosition
import li.cil.oc.util.ExtendedWorld._
@ -29,7 +29,7 @@ abstract class UpgradeSign extends prefab.ManagedEnvironment {
tileEntity match {
case Some(sign) =>
val player = host match {
case robot: Robot => robot.player
case robot: internal.Robot => robot.player
case _ => FakePlayerFactory.get(host.world.asInstanceOf[WorldServer], Settings.get.fakePlayerProfile)
}
if (!canChangeSign(player, sign)) {