From 01b9b623f33df86deb968a301c8b9ed4128ffaaf Mon Sep 17 00:00:00 2001 From: payonel Date: Fri, 1 Feb 2019 00:54:41 -0800 Subject: [PATCH] make agent swing only work for canHarvestBlock closes #3035 --- src/main/scala/li/cil/oc/server/agent/Player.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/scala/li/cil/oc/server/agent/Player.scala b/src/main/scala/li/cil/oc/server/agent/Player.scala index b2a3fbdee..7a84d0120 100644 --- a/src/main/scala/li/cil/oc/server/agent/Player.scala +++ b/src/main/scala/li/cil/oc/server/agent/Player.scala @@ -399,6 +399,8 @@ class Player(val agent: internal.Agent) extends FakePlayer(agent.world.asInstanc val state = world.getBlockState(pos) val block = state.getBlock + if (!block.canHarvestBlock(world, pos, this)) return 0 + val hardness = block.getBlockHardness(state, world, pos) val cobwebOverride = block == Blocks.WEB && Settings.get.screwCobwebs @@ -408,6 +410,7 @@ class Player(val agent: internal.Agent) extends FakePlayer(agent.world.asInstanc else hardness * 1.5 / strength if (breakTime.isInfinity) return 0 + if (breakTime < 0) return breakTime val preEvent = new RobotBreakBlockEvent.Pre(agent, world, pos, breakTime * Settings.get.harvestRatio) MinecraftForge.EVENT_BUS.post(preEvent)