diff --git a/src/main/scala/li/cil/oc/server/component/robot/Player.scala b/src/main/scala/li/cil/oc/server/component/robot/Player.scala index bdb826e95..b66fb66db 100644 --- a/src/main/scala/li/cil/oc/server/component/robot/Player.scala +++ b/src/main/scala/li/cil/oc/server/component/robot/Player.scala @@ -28,6 +28,7 @@ import net.minecraft.item.ItemStack import net.minecraft.network.NetHandlerPlayServer import net.minecraft.potion.PotionEffect import net.minecraft.server.MinecraftServer +import net.minecraft.server.management.UserListOpsEntry import net.minecraft.tileentity._ import net.minecraft.util._ import net.minecraft.world.WorldServer @@ -462,6 +463,21 @@ class Player(val robot: tileentity.Robot) extends FakePlayer(robot.world.asInsta override def swingItem() {} + override def canCommandSenderUseCommand(level: Int, command: String): Boolean = { + ("seed" == command && !mcServer.isDedicatedServer) || + "tell" == command || + "help" == command || + "me" == command || { + val config = mcServer.getConfigurationManager + config.func_152596_g(getGameProfile) && { + config.func_152603_m.func_152683_b(getGameProfile) match { + case opEntry: UserListOpsEntry => opEntry.func_152644_a >= level + case _ => mcServer.getOpPermissionLevel >= level + } + } + } + } + override def canAttackPlayer(player: EntityPlayer) = Settings.get.canAttackPlayers override def canEat(value: Boolean) = false