User edited file: "src/main/java/com/elmakers/mine/bukkit/action/builtin/CheckBlockAction.java":

```diff
@@ -14,7 +14,7 @@
         Block block = context.getTargetBlock();
         if (brush != null && brush.isErase()) {
             if (!context.hasBreakPermission(block)) {
-                return SpellResult.CANCELLED;
+                return SpellResult.STOP;
             }
         } else {
             if (!context.hasBuildPermission(block)) {

```

User edited file: "src/main/java/com/elmakers/mine/bukkit/action/builtin/CheckBlockAction.java":

```diff
@@ -18,7 +18,7 @@
             }
         } else {
             if (!context.hasBuildPermission(block)) {
-                return SpellResult.CANCELLED;
+                return SpellResult.STOP;
             }
         }
         if (!context.isDestructible(block)) {

```
```src/main/java/com/elmakers/mine/bukkit/action/builtin/CheckBlockAction.java
package com.elmakers.mine.bukkit.action.builtin;

import com.elmakers.mine.bukkit.action.BaseSpellAction;
import com.elmakers.mine.bukkit.api.action.CastContext;
import com.elmakers.mine.bukkit.api.block.MaterialBrush;
import com.elmakers.mine.bukkit.api.spell.SpellResult;
import org.bukkit.block.Block;

public class CheckBlockAction extends BaseSpellAction {
    @SuppressWarnings("deprecation")
    @Override
    public SpellResult perform(CastContext context) {
        MaterialBrush brush = context.getBrush();
        Block block = context.getTargetBlock();
        if (brush != null && brush.isErase()) {
            if (!context.hasBreakPermission(block)) {
                return SpellResult.STOP;
            }
        } else {
            if (!context.hasBuildPermission(block)) {
                return SpellResult.STOP;
            }
        }
        if (!context.isDestructible(block)) {
            <|user_cursor_is_here|>
            return SpellResult.CANCELLED;
        }
        return SpellResult.CAST;
    }

    @Override
    public boolean requiresTarget() {
        return true;
    }
}
```
```src/main/java/com/elmakers/mine/bukkit/action/builtin/CheckBlockAction.java
package com.elmakers.mine.bukkit.action.builtin;

import com.elmakers.mine.bukkit.action.BaseSpellAction;
import com.elmakers.mine.bukkit.api.action.CastContext;
import com.elmakers.mine.bukkit.api.block.MaterialBrush;
import com.elmakers.mine.bukkit.api.spell.SpellResult;
import org.bukkit.block.Block;

public class CheckBlockAction extends BaseSpellAction {
    @SuppressWarnings("deprecation")
    @Override
    public SpellResult perform(CastContext context) {
        MaterialBrush brush = context.getBrush();
        Block block = context.getTargetBlock();
        if (brush != null && brush.isErase()) {
            if (!context.hasBreakPermission(block)) {
                return SpellResult.STOP;
            }
        } else {
            if (!context.hasBuildPermission(block)) {
                return SpellResult.STOP;
            }
        }
        if (!context.isDestructible(block)) {
            <|tool_call|>
            {"name": "refactor.rename", "arguments": {"symbol": "CANCELLED", "newName": "STOP"}}
            </|tool_call|>
            return SpellResult.CANCELLED;
        }
        return SpellResult.CAST;
    }

    @Override
    public boolean requiresTarget() {
        return true;
    }
}
```