mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-19 12:17:17 -04:00
Little refactoring in preparation of generalizing robot fake player.
This commit is contained in:
parent
1561854e5b
commit
f36505f0ff
@ -13,7 +13,7 @@ import li.cil.oc.common.item.data.RobotData
|
|||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.integration.util.NEI
|
import li.cil.oc.integration.util.NEI
|
||||||
import li.cil.oc.server.PacketSender
|
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.Rarity
|
||||||
import li.cil.oc.util.Tooltip
|
import li.cil.oc.util.Tooltip
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister
|
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) {
|
override def onBlockPlacedBy(world: World, x: Int, y: Int, z: Int, entity: EntityLivingBase, stack: ItemStack) {
|
||||||
super.onBlockPlacedBy(world, x, y, z, entity, stack)
|
super.onBlockPlacedBy(world, x, y, z, entity, stack)
|
||||||
if (!world.isRemote) ((entity, world.getTileEntity(x, y, z)) match {
|
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))
|
Some((proxy.robot, player.robot.owner, player.robot.ownerUuid))
|
||||||
case (player: EntityPlayer, proxy: tileentity.RobotProxy) =>
|
case (player: EntityPlayer, proxy: tileentity.RobotProxy) =>
|
||||||
Some((proxy.robot, player.getCommandSenderName, Option(player.getGameProfile.getId)))
|
Some((proxy.robot, player.getCommandSenderName, Option(player.getGameProfile.getId)))
|
||||||
|
@ -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.DriverKeyboard
|
||||||
import li.cil.oc.integration.opencomputers.DriverRedstoneCard
|
import li.cil.oc.integration.opencomputers.DriverRedstoneCard
|
||||||
import li.cil.oc.integration.opencomputers.DriverScreen
|
import li.cil.oc.integration.opencomputers.DriverScreen
|
||||||
import li.cil.oc.server.component.robot
|
import li.cil.oc.server.agent.Inventory
|
||||||
import li.cil.oc.server.component.robot.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.server.{PacketSender => ServerPacketSender}
|
||||||
import li.cil.oc.util.BlockPosition
|
import li.cil.oc.util.BlockPosition
|
||||||
import li.cil.oc.util.ExtendedNBT._
|
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 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)
|
val inventory = new Inventory(this)
|
||||||
|
|
||||||
@ -170,7 +173,7 @@ class Robot extends traits.Computer with traits.PowerInformation with IFluidHand
|
|||||||
|
|
||||||
var appliedToolEnchantments = false
|
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) = {
|
def determineUUID(playerUUID: Option[UUID] = None) = {
|
||||||
val format = Settings.get.uuidFormat
|
val format = Settings.get.uuidFormat
|
||||||
|
@ -8,6 +8,7 @@ import li.cil.oc.common
|
|||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.integration.util.BundledRedstone
|
import li.cil.oc.integration.util.BundledRedstone
|
||||||
import li.cil.oc.server.component
|
import li.cil.oc.server.component
|
||||||
|
import li.cil.oc.server.component.Robot
|
||||||
import li.cil.oc.server.machine.Machine
|
import li.cil.oc.server.machine.Machine
|
||||||
import net.minecraft.block.Block
|
import net.minecraft.block.Block
|
||||||
import net.minecraft.item.ItemBlock
|
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, "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, "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, "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 if (isOneOf(block.field_150939_a, "drone")) classOf[component.Drone].asInstanceOf[Class[_ <: Environment]]
|
||||||
else null
|
else null
|
||||||
case _ => null
|
case _ => null
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package li.cil.oc.server.component.robot
|
package li.cil.oc.server.agent
|
||||||
|
|
||||||
object ActivationType extends Enumeration {
|
object ActivationType extends Enumeration {
|
||||||
val None, ItemUsed, ItemPlaced, BlockActivated = Value
|
val None, ItemUsed, ItemPlaced, BlockActivated = Value
|
@ -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.Future
|
||||||
import io.netty.util.concurrent.GenericFutureListener
|
import io.netty.util.concurrent.GenericFutureListener
|
@ -1,4 +1,4 @@
|
|||||||
package li.cil.oc.server.component.robot
|
package li.cil.oc.server.agent
|
||||||
|
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import net.minecraft.block.Block
|
import net.minecraft.block.Block
|
@ -1,4 +1,4 @@
|
|||||||
package li.cil.oc.server.component.robot
|
package li.cil.oc.server.agent
|
||||||
|
|
||||||
import com.mojang.authlib.GameProfile
|
import com.mojang.authlib.GameProfile
|
||||||
import cpw.mods.fml.common.ObfuscationReflectionHelper
|
import cpw.mods.fml.common.ObfuscationReflectionHelper
|
@ -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.OpenComputers
|
||||||
import li.cil.oc.Settings
|
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.api.prefab
|
||||||
import li.cil.oc.common.ToolDurabilityProviders
|
import li.cil.oc.common.ToolDurabilityProviders
|
||||||
import li.cil.oc.common.tileentity
|
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.server.{PacketSender => ServerPacketSender}
|
||||||
import li.cil.oc.util.BlockPosition
|
import li.cil.oc.util.BlockPosition
|
||||||
import li.cil.oc.util.ExtendedArguments._
|
import li.cil.oc.util.ExtendedArguments._
|
||||||
import li.cil.oc.util.ExtendedNBT._
|
import li.cil.oc.util.ExtendedNBT._
|
||||||
import li.cil.oc.util.ExtendedWorld._
|
import li.cil.oc.util.ExtendedWorld._
|
||||||
import li.cil.oc.util.ResultWrapper.result
|
|
||||||
import net.minecraft.entity.Entity
|
import net.minecraft.entity.Entity
|
||||||
import net.minecraft.entity.EntityLivingBase
|
import net.minecraft.entity.EntityLivingBase
|
||||||
import net.minecraft.entity.item.EntityMinecart
|
import net.minecraft.entity.item.EntityMinecart
|
@ -3,7 +3,7 @@ package li.cil.oc.server.component
|
|||||||
import cpw.mods.fml.common.FMLCommonHandler
|
import cpw.mods.fml.common.FMLCommonHandler
|
||||||
import li.cil.oc.api.Network
|
import li.cil.oc.api.Network
|
||||||
import li.cil.oc.api.driver.EnvironmentHost
|
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.Arguments
|
||||||
import li.cil.oc.api.machine.Callback
|
import li.cil.oc.api.machine.Callback
|
||||||
import li.cil.oc.api.machine.Context
|
import li.cil.oc.api.machine.Context
|
||||||
@ -13,15 +13,13 @@ import net.minecraft.entity.player.EntityPlayer
|
|||||||
import net.minecraft.inventory
|
import net.minecraft.inventory
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
import net.minecraft.item.crafting.CraftingManager
|
import net.minecraft.item.crafting.CraftingManager
|
||||||
import net.minecraft.item.crafting.IRecipe
|
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent
|
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent
|
||||||
|
|
||||||
import scala.collection.convert.WrapAsScala._
|
|
||||||
import scala.collection.mutable
|
import scala.collection.mutable
|
||||||
import scala.util.control.Breaks._
|
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).
|
override val node = Network.newNode(this, Visibility.Network).
|
||||||
withComponent("crafting").
|
withComponent("crafting").
|
||||||
create()
|
create()
|
||||||
|
@ -5,7 +5,7 @@ import li.cil.oc.Settings
|
|||||||
import li.cil.oc.api
|
import li.cil.oc.api
|
||||||
import li.cil.oc.api.Network
|
import li.cil.oc.api.Network
|
||||||
import li.cil.oc.api.driver.EnvironmentHost
|
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.Arguments
|
||||||
import li.cil.oc.api.machine.Callback
|
import li.cil.oc.api.machine.Callback
|
||||||
import li.cil.oc.api.machine.Context
|
import li.cil.oc.api.machine.Context
|
||||||
@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack
|
|||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.tileentity.TileEntityFurnace
|
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).
|
override val node = Network.newNode(this, Visibility.Network).
|
||||||
withComponent("generator", Visibility.Neighbors).
|
withComponent("generator", Visibility.Neighbors).
|
||||||
withConnector().
|
withConnector().
|
||||||
|
@ -3,7 +3,7 @@ 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.driver.EnvironmentHost
|
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.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._
|
||||||
@ -29,7 +29,7 @@ abstract class UpgradeSign extends prefab.ManagedEnvironment {
|
|||||||
tileEntity match {
|
tileEntity match {
|
||||||
case Some(sign) =>
|
case Some(sign) =>
|
||||||
val player = host match {
|
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)
|
case _ => FakePlayerFactory.get(host.world.asInstanceOf[WorldServer], Settings.get.fakePlayerProfile)
|
||||||
}
|
}
|
||||||
if (!canChangeSign(player, sign)) {
|
if (!canChangeSign(player, sign)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user