From dd3f7652ac014669f92979da5483bb825e5ff322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Fri, 6 Feb 2015 18:07:43 +0100 Subject: [PATCH] Improve robot fake player permission checks, not sure if that method is even used anywhere... --- .../cil/oc/server/component/robot/Player.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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