Config option for tunnel height.

master
David G 2018-12-16 16:17:40 -07:00
parent 5ccf7e180c
commit 3c6084b82f
3 changed files with 279 additions and 262 deletions

View File

@ -11,6 +11,8 @@ Features
--------
- Digs "arched" tunnels (5 nodes wide and 5 nodes tall) in all sixteen possible advtrains track directions with one click. Also digs up or down in the eight possible advtrains slope track directions.
- Fills in tunnel floor (central 3 nodes wide) with stone. Outside of tunnels this can be used to clear ground, provide cuts and fills, and build simple stone bridges. However, bridge supports will need to be added manually.
- **New:** Tunneling through water has been enabled by default. This will add a glass enclosure around the tunnel as you go. Configuration variable to disable, if desired.
- **New:** Height of tunnel and whether to use "arches" are now configuration options. (Defaults to height of 5 with "arches", which matches previous release.)
- Requires "tunneling" privilege, checks protections, and only works in creative mode.
![Simple Stone Bridge](images/simple_stone_bridge.png "Simple Stone Bridge")
@ -62,11 +64,10 @@ The following diagrams show how to make curved tunnels that support the differen
Other details
-------------
- Using left-click digs similarly to a steel pickaxe, which is useful for making minor adjustments.
- **New:** Tunneling through water has been added back as a configuration option. Edit init.lua and change water_tunnels to true. This will add a glass enclosure around the tunnel as you go.
- Cobblestone references are placed to show where to continue digging for laying advtrains track. (**New:** Configuration variable to disable.)
- Cobblestone references are placed to show where to continue digging for laying advtrains track. (Configuration variable to disable.)
- If the ceiling is going to be a falling node, it is replaced with cobblestone before digging out below it.
- Torches are placed only if ceiling is stone or desert_stone. (**New:** Torch configuration options added.)
- **New:** Up/down digging configuration option added.
- Torches are placed only if ceiling is stone or desert_stone. (Torch configuration options added.)
- Continuous up/down digging configuration option added.
- For minetest version 5.0+, when in desert biomes the fills will change to the desert versions of stone or cobble.
- Won't dig advtrains track. Highlighting track will dig based on ground below it. However, be careful with slope track, since this probably isn't what you want. Also this won't work with ATC track, since it also uses right-click.

View File

@ -1,4 +1,10 @@
tunnelmaker change log
-- Version 1.0
-- Add two additional user configurations:
-- Set height of tunnels.
-- Optionally disable "arches".
-- Fixed bug in one reference block placement.
-- Version 0.9.9
-- Add additional user configurations.
-- Optionally disable adding torches.

526
init.lua
View File

@ -5,7 +5,7 @@
--
-- by David G (kestral246@gmail.com)
-- Version 0.9.9 - 2018-10-18
-- Version 1.0 - 2018-12-16
-- based on compassgps 2.7 and compass 0.5
@ -21,9 +21,15 @@
--------------------------
-- Change the way certain features of this mod work.
-- Allow tunneling through water. (default = false)
-- Define height of tunnel. (default = 5)
local tunnel_height = 5
-- Define whether to add "arches" along the sides. (default = true)
local tunnel_arch = true
-- Allow tunneling through water. (default = true)
-- Builds a glass enclosure around tunnel as you go.
local water_tunnels = false
local water_tunnels = true
-- Add cobblestone reference points in ground. (default = true)
-- This is helpful if creating tunnels for advtrains track.
@ -254,7 +260,7 @@ end
-- add torch
local add_light = function(spacing, user, pointed_thing)
local pos = vector.add(pointed_thing.under, {x=0, y=5, z=0})
local pos = vector.add(pointed_thing.under, {x=0, y=tunnel_height, z=0})
local ceiling = minetest.get_node(vector.add(pos, {x=0, y=1, z=0})).name
if add_torches and (ceiling == "default:stone" or ceiling == "default:desert_stone") and
minetest.get_node(pos).name == "air" and not minetest.is_protected(pos, user) and
@ -262,7 +268,7 @@ local add_light = function(spacing, user, pointed_thing)
minetest.set_node(pos, {name = "default:torch_ceiling"})
end
-- roof height can now be 5 or six so try again one higher
pos = vector.add(pointed_thing.under, {x=0, y=6, z=0})
pos = vector.add(pointed_thing.under, {x=0, y=tunnel_height+1, z=0})
ceiling = minetest.get_node(vector.add(pos, {x=0, y=1, z=0})).name
if add_torches and (ceiling == "default:stone" or ceiling == "default:desert_stone") and
minetest.get_node(pos).name == "air" and not minetest.is_protected(pos, user) and
@ -339,386 +345,390 @@ end
-- dig tunnel based on direction given
local dig_tunnel = function(cdir, user, pointed_thing)
if minetest.check_player_privs(user, "tunneling") then
-- Short abbreviations: "c" (ceiling) and "a" (arch)
local c = tunnel_height
local a = tunnel_height - 1
if not tunnel_arch then a = tunnel_height end
-- Dig horizontal
if cdir == 0 then -- pointed north
run_list( {{aw,-3, 0, 4, 0},{aw,-3, 0, 4, 1},{aw,-3, 0, 4, 2},
{aw, 3, 0, 4, 0},{aw, 3, 0, 4, 1},{aw, 3, 0, 4, 2},
{ec,-3, 0, 4, 3},{ec,-2, 0, 5, 3},{ec,-1, 0, 6, 3},{ec, 0, 0, 6, 3},{ec, 1, 0, 6, 3},{ec, 2, 0, 5, 3},{ec, 3, 0, 4, 3},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{ds,-2, 0, 4, 2},{dt,-1, 0, 5, 2},{dt, 0, 0, 5, 2},{dt, 1, 0, 5, 2},{ds, 2, 0, 4, 2},
run_list( {{aw,-3, 0, a, 0},{aw,-3, 0, a, 1},{aw,-3, 0, a, 2},
{aw, 3, 0, a, 0},{aw, 3, 0, a, 1},{aw, 3, 0, a, 2},
{ec,-3, 0, a, 3},{ec,-2, 0, a+1, 3},{ec,-1, 0, c+1, 3},{ec, 0, 0, c+1, 3},{ec, 1, 0, c+1, 3},{ec, 2, 0, a+1, 3},{ec, 3, 0, a, 3},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{ds,-2, 0, a, 2},{dt,-1, 0, c, 2},{dt, 0, 0, c, 2},{dt, 1, 0, c, 2},{ds, 2, 0, a, 2},
{add_ref, 0, 0, 0, 2}}, user, pointed_thing)
elseif cdir == 1 then -- pointed north-northwest
run_list( {{aw,-3, 0, 4, 0},{aw,-4, 0, 4, 1},{aw,-4, 0, 4, 2},
{aw, 3, 0, 4, 1},{aw, 2, 0, 4, 2},{aw, 2, 0, 4, 3},
{ec,-4, 0, 4, 3},{ec,-3, 0, 5, 3},{ec,-2, 0, 6, 3},{ec,-1, 0, 6, 3},{ec, 0, 0, 6, 3},{ec, 1, 0, 5, 3},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},
{ds,-3, 0, 4, 1},{dt,-2, 0, 5, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{ds,-3, 0, 4, 2},{dt,-2, 0, 5, 2},{dt,-1, 0, 5, 2},{dt, 0, 0, 5, 2},{ds, 1, 0, 4, 2},
run_list( {{aw,-3, 0, a, 0},{aw,-4, 0, a, 1},{aw,-4, 0, a, 2},
{aw, 3, 0, a, 1},{aw, 2, 0, a, 2},{aw, 2, 0, a, 3},
{ec,-4, 0, a, 3},{ec,-3, 0, a+1, 3},{ec,-2, 0, c+1, 3},{ec,-1, 0, c+1, 3},{ec, 0, 0, c+1, 3},{ec, 1, 0, a+1, 3},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},
{ds,-3, 0, a, 1},{dt,-2, 0, c, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{ds,-3, 0, a, 2},{dt,-2, 0, c, 2},{dt,-1, 0, c, 2},{dt, 0, 0, c, 2},{ds, 1, 0, a, 2},
{add_ref,-1, 0, 0, 2}}, user, pointed_thing)
elseif cdir == 2 then -- pointed northwest
run_list( {{aw,-2, 0, 4,-2},{aw,-3, 0, 4,-1},
{aw, 2, 0, 4, 2},{aw, 1, 0, 4, 3},
{ec,-4, 0, 4, 0},{ec,-3, 0, 5, 1},{ec,-2, 0, 6, 1},{ec,-1, 0, 6, 2},{ec,-1, 0, 5, 3},{ec, 0, 0, 4, 4},
{ds,-1, 0, 4,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},
{ds,-3, 0, 4, 0},{dt,-2, 0, 5, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},
{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{dt, 0, 0, 5, 2},{ds, 1, 0, 4, 2},
{ds, 0, 0, 4, 3},
run_list( {{aw,-2, 0, a,-2},{aw,-3, 0, a,-1},
{aw, 2, 0, a, 2},{aw, 1, 0, a, 3},
{ec,-4, 0, a, 0},{ec,-3, 0, a, 1},{ec,-2, 0, c, 1},{ec,-1, 0, c, 2},{ec,-1, 0, a, 3},{ec, 0, 0, a, 4},
{ds,-1, 0, a,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},
{ds,-3, 0, a, 0},{dt,-2, 0, c, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},
{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{dt, 0, 0, c, 2},{ds, 1, 0, a, 2},
{ds, 0, 0, a, 3},
{add_ref,-1, 0, 0, 1}}, user, pointed_thing)
elseif cdir == 3 then -- pointed west-northwest
run_list( {{aw,-1, 0, 4,-3},{aw,-2, 0, 4,-2},{aw,-3, 0, 4,-2},
{aw, 0, 0, 4, 3},{aw,-1, 0, 4, 4},{aw,-2, 0, 4, 4},
{ec,-3, 0, 5,-1},{ec,-3, 0, 6, 0},{ec,-3, 0, 6, 1},{ec,-3, 0, 6, 2},{ec,-3, 0, 5, 3},{ec,-3, 0, 4, 4},
{ds,-1, 0, 4,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},
{dt,-2, 0, 5, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},
{dt,-2, 0, 5, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},
{dt,-2, 0, 5, 2},{dt,-1, 0, 5, 2},{ds, 0, 0, 4, 2},
{ds,-2, 0, 4, 3},{ds,-1, 0, 4, 3},
run_list( {{aw,-1, 0, a,-3},{aw,-2, 0, a,-2},{aw,-3, 0, a,-2},
{aw, 0, 0, a, 3},{aw,-1, 0, a, 4},{aw,-2, 0, a, 4},
{ec,-3, 0, a+1,-1},{ec,-3, 0, c+1, 0},{ec,-3, 0, c+1, 1},{ec,-3, 0, c+1, 2},{ec,-3, 0, a+1, 3},{ec,-3, 0, a, 4},
{ds,-1, 0, a,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},
{dt,-2, 0, c, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},
{dt,-2, 0, c, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},
{dt,-2, 0, c, 2},{dt,-1, 0, c, 2},{ds, 0, 0, a, 2},
{ds,-2, 0, a, 3},{ds,-1, 0, a, 3},
{add_ref,-2, 0, 0, 1}}, user, pointed_thing)
elseif cdir == 4 then -- pointed west
run_list( {{aw, 0, 0, 4,-3},{aw,-1, 0, 4,-3},{aw,-2, 0, 4,-3},
{aw, 0, 0, 4, 3},{aw,-1, 0, 4, 3},{aw,-2, 0, 4, 3},
{ec,-3, 0, 4,-3},{ec,-3, 0, 5,-2},{ec,-3, 0, 6,-1},{ec,-3, 0, 6, 0},{ec,-3, 0, 6, 1},{ec,-3, 0, 5, 2},{ec,-3, 0, 4, 3},
{ds,-2, 0, 4,-2},{ds,-1, 0, 4,-2},{ds, 0, 0, 4,-2},
{dt,-2, 0, 5,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},
{dt,-2, 0, 5, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},
{dt,-2, 0, 5, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},
{ds,-2, 0, 4, 2},{ds,-1, 0, 4, 2},{ds, 0, 0, 4, 2},
run_list( {{aw, 0, 0, a,-3},{aw,-1, 0, a,-3},{aw,-2, 0, a,-3},
{aw, 0, 0, a, 3},{aw,-1, 0, a, 3},{aw,-2, 0, a, 3},
{ec,-3, 0, a,-3},{ec,-3, 0, a+1,-2},{ec,-3, 0, c+1,-1},{ec,-3, 0, c+1, 0},{ec,-3, 0, c+1, 1},{ec,-3, 0, a+1, 2},{ec,-3, 0, a, 3},
{ds,-2, 0, a,-2},{ds,-1, 0, a,-2},{ds, 0, 0, a,-2},
{dt,-2, 0, c,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},
{dt,-2, 0, c, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},
{dt,-2, 0, c, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},
{ds,-2, 0, a, 2},{ds,-1, 0, a, 2},{ds, 0, 0, a, 2},
{add_ref,-2, 0, 0, 0}}, user, pointed_thing)
elseif cdir == 5 then -- pointed west-southwest
run_list( {{aw, 0, 0, 4,-3},{aw,-1, 0, 4,-4},{aw,-2, 0, 4,-4},
{aw,-1, 0, 4, 3},{aw,-2, 0, 4, 2},{aw,-3, 0, 4, 2},
{ec,-3, 0, 4,-4},{ec,-3, 0, 5,-3},{ec,-3, 0, 6,-2},{ec,-3, 0, 6,-1},{ec,-3, 0, 6, 0},{ec,-3, 0, 5, 1},
{ds,-2, 0, 4,-3},{ds,-1, 0, 4,-3},
{dt,-2, 0, 5,-2},{dt,-1, 0, 5,-2},{ds, 0, 0, 4,-2},
{dt,-2, 0, 5,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},
{dt,-2, 0, 5, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},
{ds,-1, 0, 4, 2},
run_list( {{aw, 0, 0, a,-3},{aw,-1, 0, a,-4},{aw,-2, 0, a,-4},
{aw,-1, 0, a, 3},{aw,-2, 0, a, 2},{aw,-3, 0, a, 2},
{ec,-3, 0, a,-4},{ec,-3, 0, a+1,-3},{ec,-3, 0, c+1,-2},{ec,-3, 0, c+1,-1},{ec,-3, 0, c+1, 0},{ec,-3, 0, a+1, 1},
{ds,-2, 0, a,-3},{ds,-1, 0, a,-3},
{dt,-2, 0, c,-2},{dt,-1, 0, c,-2},{ds, 0, 0, a,-2},
{dt,-2, 0, c,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},
{dt,-2, 0, c, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},
{ds,-1, 0, a, 2},
{add_ref,-2, 0, 0,-1}}, user, pointed_thing)
elseif cdir == 6 then -- pointed southwest
run_list( {{aw, 2, 0, 4,-2},{aw, 1, 0, 4,-3},
{aw,-2, 0, 4, 2},{aw,-3, 0, 4, 1},
{ec, 0, 0, 4,-4},{ec,-1, 0, 5,-3},{ec,-1, 0, 6,-2},{ec,-2, 0, 6,-1},{ec,-3, 0, 5,-1},{ec,-4, 0, 4, 0},
{ds, 0, 0, 4,-3},
{dt, 0, 0, 5,-2},{ds, 1, 0, 4,-2},
{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{ds,-3, 0, 4, 0},{dt,-2, 0, 5, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},
{ds,-1, 0, 4, 2},
run_list( {{aw, 2, 0, a,-2},{aw, 1, 0, a,-3},
{aw,-2, 0, a, 2},{aw,-3, 0, a, 1},
{ec, 0, 0, a,-4},{ec,-1, 0, a,-3},{ec,-1, 0, c,-2},{ec,-2, 0, c,-1},{ec,-3, 0, a,-1},{ec,-4, 0, a, 0},
{ds, 0, 0, a,-3},
{dt, 0, 0, c,-2},{ds, 1, 0, a,-2},
{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{ds,-3, 0, a, 0},{dt,-2, 0, c, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},
{ds,-1, 0, a, 2},
{add_ref,-1, 0, 0,-1}}, user, pointed_thing)
elseif cdir == 7 then -- pointed south-southwest
run_list( {{aw, 3, 0, 4,-1},{aw, 2, 0, 4,-2},{aw, 2, 0, 4,-3},
{aw,-3, 0, 4, 0},{aw,-4, 0, 4,-1},{aw,-4, 0, 4,-2},
{ec, 1, 0, 5,-3},{ec, 0, 0, 6,-3},{ec,-1, 0, 6, -3},{ec,-2, 0, 6,-3},{ec,-3, 0, 5,-3},{ec,-4, 0, 4,-3},
{ds,-3, 0, 4,-2},{dt,-2, 0, 5,-2},{dt,-1, 0, 5,-2},{dt, 0, 0, 5,-2},{ds, 1, 0, 4,-2},
{ds,-3, 0, 4,-1},{dt,-2, 0, 5,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},
run_list( {{aw, 3, 0, a,-1},{aw, 2, 0, a,-2},{aw, 2, 0, a,-3},
{aw,-3, 0, a, 0},{aw,-4, 0, a,-1},{aw,-4, 0, a,-2},
{ec, 1, 0, a+1,-3},{ec, 0, 0, c+1,-3},{ec,-1, 0, c+1, -3},{ec,-2, 0, c+1,-3},{ec,-3, 0, a+1,-3},{ec,-4, 0, a,-3},
{ds,-3, 0, a,-2},{dt,-2, 0, c,-2},{dt,-1, 0, c,-2},{dt, 0, 0, c,-2},{ds, 1, 0, a,-2},
{ds,-3, 0, a,-1},{dt,-2, 0, c,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},
{add_ref,-1, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 8 then -- pointed south
run_list( {{aw, 3, 0, 4, 0},{aw, 3, 0, 4,-1},{aw, 3, 0, 4,-2},
{aw,-3, 0, 4, 0},{aw,-3, 0, 4,-1},{aw,-3, 0, 4,-2},
{ec, 3, 0, 4,-3},{ec, 2, 0, 5,-3},{ec, 1, 0, 6,-3},{ec, 0, 0, 6,-3},{ec,-1, 0, 6,-3},{ec,-2, 0, 5,-3},{ec,-3, 0, 4,-3},
{ds,-2, 0, 4,-2},{dt,-1, 0, 5,-2},{dt, 0, 0, 5,-2},{dt, 1, 0, 5,-2},{ds, 2, 0, 4,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
run_list( {{aw, 3, 0, a, 0},{aw, 3, 0, a,-1},{aw, 3, 0, a,-2},
{aw,-3, 0, a, 0},{aw,-3, 0, a,-1},{aw,-3, 0, a,-2},
{ec, 3, 0, a,-3},{ec, 2, 0, a+1,-3},{ec, 1, 0, c+1,-3},{ec, 0, 0, c+1,-3},{ec,-1, 0, c+1,-3},{ec,-2, 0, a+1,-3},{ec,-3, 0, a,-3},
{ds,-2, 0, a,-2},{dt,-1, 0, c,-2},{dt, 0, 0, c,-2},{dt, 1, 0, c,-2},{ds, 2, 0, a,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{add_ref,0, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 9 then -- pointed south-southeast
run_list( {{aw, 3, 0, 4, 0},{aw, 4, 0, 4,-1},{aw, 4, 0, 4,-2},
{aw,-3, 0, 4,-1},{aw,-2, 0, 4,-2},{aw,-2, 0, 4,-3},
{ec, 4, 0, 4,-3},{ec, 3, 0, 5,-3},{ec, 2, 0, 6,-3},{ec, 1, 0, 6,-3},{ec, 0, 0, 6,-3},{ec,-1, 0, 5,-3},
{ds,-1, 0, 4,-2},{dt, 0, 0, 5,-2},{dt, 1, 0, 5,-2},{dt, 2, 0, 5,-2},{ds, 3, 0, 4,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{dt, 2, 0, 5,-1},{ds, 3, 0, 4,-1},
{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
run_list( {{aw, 3, 0, a, 0},{aw, 4, 0, a,-1},{aw, 4, 0, a,-2},
{aw,-3, 0, a,-1},{aw,-2, 0, a,-2},{aw,-2, 0, a,-3},
{ec, 4, 0, a,-3},{ec, 3, 0, a+1,-3},{ec, 2, 0, c+1,-3},{ec, 1, 0, c+1,-3},{ec, 0, 0, c+1,-3},{ec,-1, 0, a+1,-3},
{ds,-1, 0, a,-2},{dt, 0, 0, c,-2},{dt, 1, 0, c,-2},{dt, 2, 0, c,-2},{ds, 3, 0, a,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{dt, 2, 0, c,-1},{ds, 3, 0, a,-1},
{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{add_ref,1, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 10 then -- pointed southeast
run_list( {{aw, 2, 0, 4, 2},{aw, 3, 0, 4, 1},
{aw,-2, 0, 4,-2},{aw,-1, 0, 4,-3},
{ec, 4, 0, 4, 0},{ec, 3, 0, 5,-1},{ec, 2, 0, 6,-1},{ec, 1, 0, 6,-2},{ec, 1, 0, 5,-3},{ec, 0, 0, 4,-4},
{ds, 0, 0, 4,-3},
{ds,-1, 0, 4,-2},{dt, 0, 0, 5,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{dt, 2, 0, 5, 0},{ds, 3, 0, 4, 0},
{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{ds, 1, 0, 4, 2},
run_list( {{aw, 2, 0, a, 2},{aw, 3, 0, a, 1},
{aw,-2, 0, a,-2},{aw,-1, 0, a,-3},
{ec, 4, 0, a, 0},{ec, 3, 0, a,-1},{ec, 2, 0, c,-1},{ec, 1, 0, c,-2},{ec, 1, 0, a,-3},{ec, 0, 0, a,-4},
{ds, 0, 0, a,-3},
{ds,-1, 0, a,-2},{dt, 0, 0, c,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{dt, 2, 0, c, 0},{ds, 3, 0, a, 0},
{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{ds, 1, 0, a, 2},
{add_ref, 1, 0, 0,-1}}, user, pointed_thing)
elseif cdir == 11 then -- pointed east-southeast
run_list( {{aw, 1, 0, 4, 3},{aw, 2, 0, 4, 2},{aw, 3, 0, 4, 2},
{aw, 0, 0, 4,-3},{aw, 1, 0, 4,-4},{aw, 2, 0, 4,-4},
{ec, 3, 0, 5, 1},{ec, 3, 0, 6, 0},{ec, 3, 0, 6,-1},{ec, 3, 0, 6,-2},{ec, 3, 0, 5,-3},{ec, 3, 0, 4,-4},
{ds, 1, 0, 4,-3},{ds, 2, 0, 4,-3},
{ds, 0, 0, 4,-2},{dt, 1, 0, 5,-2},{dt, 2, 0, 5,-2},
{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{dt, 2, 0, 5,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{dt, 2, 0, 5, 0},
{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{ds, 1, 0, 4, 2},
run_list( {{aw, 1, 0, a, 3},{aw, 2, 0, a, 2},{aw, 3, 0, a, 2},
{aw, 0, 0, a,-3},{aw, 1, 0, a,-4},{aw, 2, 0, a,-4},
{ec, 3, 0, a+1, 1},{ec, 3, 0, c+1, 0},{ec, 3, 0, c+1,-1},{ec, 3, 0, c+1,-2},{ec, 3, 0, a+1,-3},{ec, 3, 0, a,-4},
{ds, 1, 0, a,-3},{ds, 2, 0, a,-3},
{ds, 0, 0, a,-2},{dt, 1, 0, c,-2},{dt, 2, 0, c,-2},
{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{dt, 2, 0, c,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{dt, 2, 0, c, 0},
{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{ds, 1, 0, a, 2},
{add_ref, 2, 0, 0,-1}}, user, pointed_thing)
elseif cdir == 12 then -- pointed east
run_list( {{aw, 0, 0, 4, 3},{aw, 1, 0, 4, 3},{aw, 2, 0, 4, 3},
{aw, 0, 0, 4,-3},{aw, 1, 0, 4,-3},{aw, 2, 0, 4,-3},
{ec, 3, 0, 4, 3},{ec, 3, 0, 5, 2},{ec, 3, 0, 6, 1},{ec, 3, 0, 6, 0},{ec, 3, 0, 6,-1},{ec, 3, 0, 5,-2},{ec, 3, 0, 4,-3},
{ds, 0, 0, 4,-2},{ds, 1, 0, 4,-2},{ds, 2, 0, 4,-2},
{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{dt, 2, 0, 5,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{dt, 2, 0, 5, 0},
{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{dt, 2, 0, 5, 1},
{ds, 0, 0, 4, 2},{ds, 1, 0, 4, 2},{ds, 2, 0, 4, 2},
run_list( {{aw, 0, 0, a, 3},{aw, 1, 0, a, 3},{aw, 2, 0, a, 3},
{aw, 0, 0, a,-3},{aw, 1, 0, a,-3},{aw, 2, 0, a,-3},
{ec, 3, 0, a, 3},{ec, 3, 0, a+1, 2},{ec, 3, 0, c+1, 1},{ec, 3, 0, c+1, 0},{ec, 3, 0, c+1,-1},{ec, 3, 0, a+1,-2},{ec, 3, 0, a,-3},
{ds, 0, 0, a,-2},{ds, 1, 0, a,-2},{ds, 2, 0, a,-2},
{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{dt, 2, 0, c,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{dt, 2, 0, c, 0},
{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{dt, 2, 0, c, 1},
{ds, 0, 0, a, 2},{ds, 1, 0, a, 2},{ds, 2, 0, a, 2},
{add_ref, 2, 0, 0, 0}}, user, pointed_thing)
elseif cdir == 13 then -- pointed east-northeast
run_list( {{aw, 0, 0, 4, 3},{aw, 1, 0, 4, 4},{aw, 2, 0, 4, 4},
{aw, 1, 0, 4,-3},{aw, 2, 0, 4,-2},{aw, 3, 0, 4,-2},
{ec, 3, 0, 4, 4},{ec, 3, 0, 5, 3},{ec, 3, 0, 6, 2},{ec, 3, 0, 6, 1},{ec, 3, 0, 6, 0},{ec, 3, 0, 5,-1},
{ds, 1, 0, 4,-2},
{dt, 0, 0, 5,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{dt, 2, 0, 5, 0},
{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{dt, 2, 0, 5, 1},
{ds, 0, 0, 4, 2},{dt, 1, 0, 5, 2},{dt, 2, 0, 5, 2},
{ds, 1, 0, 4, 3},{ds, 2, 0, 4, 3},
run_list( {{aw, 0, 0, a, 3},{aw, 1, 0, a, 4},{aw, 2, 0, a, 4},
{aw, 1, 0, a,-3},{aw, 2, 0, a,-2},{aw, 3, 0, a,-2},
{ec, 3, 0, a, 4},{ec, 3, 0, a+1, 3},{ec, 3, 0, c+1, 2},{ec, 3, 0, c+1, 1},{ec, 3, 0, c+1, 0},{ec, 3, 0, a+1,-1},
{ds, 1, 0, a,-2},
{dt, 0, 0, c,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{dt, 2, 0, c, 0},
{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{dt, 2, 0, c, 1},
{ds, 0, 0, a, 2},{dt, 1, 0, c, 2},{dt, 2, 0, c, 2},
{ds, 1, 0, a, 3},{ds, 2, 0, a, 3},
{add_ref, 2, 0, 0, 1}}, user, pointed_thing)
elseif cdir == 14 then -- pointed northeast
run_list( {{aw,-2, 0, 4, 2},{aw,-1, 0, 4, 3},
{aw, 2, 0, 4,-2},{aw, 3, 0, 4,-1},
{ec, 0, 0, 4, 4},{ec, 1, 0, 5, 3},{ec, 1, 0, 6, 2},{ec, 2, 0, 6, 1},{ec, 3, 0, 5, 1},{ec, 4, 0, 4, 0},
{ds, 1, 0, 4,-2},
{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{dt, 2, 0, 5, 0},{ds, 3, 0, 4, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},
{ds,-1, 0, 4, 2},{dt, 0, 0, 5, 2},
{ds, 0, 0, 4, 3},
run_list( {{aw,-2, 0, a, 2},{aw,-1, 0, a, 3},
{aw, 2, 0, a,-2},{aw, 3, 0, a,-1},
{ec, 0, 0, a, 4},{ec, 1, 0, a, 3},{ec, 1, 0, c, 2},{ec, 2, 0, c, 1},{ec, 3, 0, a, 1},{ec, 4, 0, a, 0},
{ds, 1, 0, a,-2},
{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{dt, 2, 0, c, 0},{ds, 3, 0, a, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},
{ds,-1, 0, a, 2},{dt, 0, 0, c, 2},
{ds, 0, 0, a, 3},
{add_ref, 1, 0, 0, 1}}, user, pointed_thing)
elseif cdir == 15 then -- pointed north-northeast
run_list( {{aw,-3, 0, 4, 1},{aw,-2, 0, 4, 2},{aw,-2, 0, 4, 3},
{aw, 3, 0, 4, 0},{aw, 4, 0, 4, 1},{aw, 4, 0, 4, 2},
{ec,-1, 0, 5, 3},{ec, 0, 0, 6, 3},{ec, 1, 0, 6, 3},{ec, 2, 0, 6, 3},{ec, 3, 0, 5, 3},{ec, 4, 0, 4, 3},
{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 5, 1},{dt, 1, 0, 5, 1},{dt, 2, 0, 5, 1},{ds, 3, 0, 4, 1},
{ds,-1, 0, 4, 2},{dt, 0, 0, 5, 2},{dt, 1, 0, 5, 2},{dt, 2, 0, 5, 2},{ds, 3, 0, 4, 2},
run_list( {{aw,-3, 0, a, 1},{aw,-2, 0, a, 2},{aw,-2, 0, a, 3},
{aw, 3, 0, a, 0},{aw, 4, 0, a, 1},{aw, 4, 0, a, 2},
{ec,-1, 0, a+1, 3},{ec, 0, 0, c+1, 3},{ec, 1, 0, c+1, 3},{ec, 2, 0, c+1, 3},{ec, 3, 0, a+1, 3},{ec, 4, 0, a, 3},
{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c, 1},{dt, 1, 0, c, 1},{dt, 2, 0, c, 1},{ds, 3, 0, a, 1},
{ds,-1, 0, a, 2},{dt, 0, 0, c, 2},{dt, 1, 0, c, 2},{dt, 2, 0, c, 2},{ds, 3, 0, a, 2},
{add_ref, 1, 0, 0, 2}}, user, pointed_thing)
-- Dig for slope up
elseif cdir == 16 then -- pointed north (0, dig up)
run_list( {{aw,-3, 0, 4, 0},{aw,-3, 0, 5, 1},{aw,-3, 1, 5, 2},
{aw, 3, 0, 4, 0},{aw, 3, 0, 5, 1},{aw, 3, 1, 5, 2},
{ec,-3, 1, 5, 3},{ec,-2, 1, 6, 3},{ec,-1, 1, 7, 3},{ec, 0, 1, 7, 3},{ec, 1, 1, 7, 3},{ec, 2, 1, 6, 3},{ec, 3, 1, 5, 3},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
{ds,-2, 0, 5, 1},{dt,-1, 0, 6, 1},{dt, 0, 0, 6, 1},{dt, 1, 0, 6, 1},{ds, 2, 0, 5, 1},
{ds,-2, 1, 5, 2},{dt,-1, 1, 6, 2},{dt, 0, 1, 6, 2},{dt, 1, 1, 6, 2},{ds, 2, 1, 5, 2},
run_list( {{aw,-3, 0, a, 0},{aw,-3, 0, a+1, 1},{aw,-3, 1, a+1, 2},
{aw, 3, 0, a, 0},{aw, 3, 0, a+1, 1},{aw, 3, 1, a+1, 2},
{ec,-3, 1, a+1, 3},{ec,-2, 1, a+2, 3},{ec,-1, 1, c+2, 3},{ec, 0, 1, c+2, 3},{ec, 1, 1, c+2, 3},{ec, 2, 1, a+2, 3},{ec, 3, 1, a+1, 3},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{ds,-2, 0, a+1, 1},{dt,-1, 0, c+1, 1},{dt, 0, 0, c+1, 1},{dt, 1, 0, c+1, 1},{ds, 2, 0, a+1, 1},
{ds,-2, 1, a+1, 2},{dt,-1, 1, c+1, 2},{dt, 0, 1, c+1, 2},{dt, 1, 1, c+1, 2},{ds, 2, 1, a+1, 2},
{add_ref, 0, 1, 0, 2},
{add_brace,-1, 0, 0, 2},
{add_brace, 1, 0, 0, 2}}, user, pointed_thing)
elseif cdir == 17 then -- pointed northwest (2, dig up)
run_list( {{aw,-2, 0, 5,-2},{aw,-3, 1, 5,-1},
{aw, 2, 0, 5, 2},{aw, 1, 1, 5, 3},
{ec,-4, 1, 5, 0},{ec,-3, 1, 6, 1},{ec,-2, 1, 7, 1},{ec,-1, 1, 7, 2},{ec,-1, 1, 6, 3},{ec, 0, 1, 5, 4},
{ds,-1, 0, 4,-2},
{ds,-2, 0, 5,-1},{dt,-1, 0, 5,-1},
{ds,-3, 1, 5, 0},{dt,-2, 1, 6, 0},{dt,-1, 0, 6, 0},{dt, 0, 0, 6, 0},
{dt,-1, 1, 6, 1},{dt, 0, 0, 6, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{dt, 0, 1, 6, 2},{ds, 1, 0, 5, 2},
{ds, 0, 1, 5, 3},
run_list( {{aw,-2, 0, a+1,-2},{aw,-3, 1, a+1,-1},
{aw, 2, 0, a+1, 2},{aw, 1, 1, a+1, 3},
{ec,-4, 1, a+1, 0},{ec,-3, 1, c+1, 1},{ec,-2, 1, c+2, 1},{ec,-1, 1, c+2, 2},{ec,-1, 1, c+1, 3},{ec, 0, 1, a+1, 4},
{ds,-1, 0, a,-2},
{ds,-2, 0, a+1,-1},{dt,-1, 0, c,-1},
{ds,-3, 1, a+1, 0},{dt,-2, 1, c+1, 0},{dt,-1, 0, c+1, 0},{dt, 0, 0, c+1, 0},
{dt,-1, 1, c+1, 1},{dt, 0, 0, c+1, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{dt, 0, 1, c+1, 2},{ds, 1, 0, a+1, 2},
{ds, 0, 1, a+1, 3},
{add_ref,-1, 1, 0, 1},
{add_brace,-2, 0, 0, 0},
{add_brace, 0, 0, 0, 2}}, user, pointed_thing)
elseif cdir == 18 then -- pointed west (4, dig up)
run_list( {{aw, 0, 0, 4,-3},{aw,-1, 0, 5,-3},{aw,-2, 1, 5,-3},
{aw, 0, 0, 4, 3},{aw,-1, 0, 5, 3},{aw,-2, 1, 5, 3},
{ec,-3, 1, 5,-3},{ec,-3, 1, 6,-2},{ec,-3, 1, 7,-1},{ec,-3, 1, 7, 0},{ec,-3, 1, 7, 1},{ec,-3, 1, 6, 2},{ec,-3, 1, 5, 3},
{ds,-2, 1, 5,-2},{ds,-1, 0, 5,-2},{ds, 0, 0, 4,-2},
{dt,-2, 1, 6,-1},{dt,-1, 0, 6,-1},{dt, 0, 0, 5,-1},
{dt,-2, 1, 6, 0},{dt,-1, 0, 6, 0},{dt, 0, 0, 5, 0},
{dt,-2, 1, 6, 1},{dt,-1, 0, 6, 1},{dt, 0, 0, 5, 1},
{ds,-2, 1, 5, 2},{ds,-1, 0, 5, 2},{ds, 0, 0, 4, 2},
run_list( {{aw, 0, 0, a,-3},{aw,-1, 0, a+1,-3},{aw,-2, 1, a+1,-3},
{aw, 0, 0, a, 3},{aw,-1, 0, a+1, 3},{aw,-2, 1, a+1, 3},
{ec,-3, 1, a+1,-3},{ec,-3, 1, a+2,-2},{ec,-3, 1, c+2,-1},{ec,-3, 1, c+2, 0},{ec,-3, 1, c+2, 1},{ec,-3, 1, a+2, 2},{ec,-3, 1, a+1, 3},
{ds,-2, 1, a+1,-2},{ds,-1, 0, a+1,-2},{ds, 0, 0, a,-2},
{dt,-2, 1, c+1,-1},{dt,-1, 0, c+1,-1},{dt, 0, 0, c,-1},
{dt,-2, 1, c+1, 0},{dt,-1, 0, c+1, 0},{dt, 0, 0, c, 0},
{dt,-2, 1, c+1, 1},{dt,-1, 0, c+1, 1},{dt, 0, 0, c, 1},
{ds,-2, 1, a+1, 2},{ds,-1, 0, a+1, 2},{ds, 0, 0, a, 2},
{add_ref,-2, 1, 0, 0},
{add_brace,-2, 0, 0,-1},
{add_brace,-2, 0, 0, 1}}, user, pointed_thing)
elseif cdir == 19 then -- pointed southwest (6, dig up)
run_list( {{aw, 2, 0, 5,-2},{aw, 1, 1, 5,-3},
{aw,-2, 0, 5, 2},{aw,-3, 1, 5, 1},
{ec, 0, 1, 5,-4},{ec,-1, 1, 6,-3},{ec,-1, 1, 7,-2},{ec,-2, 1, 7,-1},{ec,-3, 1, 6,-1},{ec,-4, 1, 5, 0},
{ds, 0, 1, 5,-3},
{dt, 0, 1, 6,-2},{ds, 1, 0, 5,-2},
{dt,-1, 1, 6,-1},{dt, 0, 0, 6,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{ds,-3, 1, 5, 0},{dt,-2, 1, 6, 0},{dt,-1, 0, 6, 0},{dt, 0, 0, 6, 0},
{ds,-2, 0, 5, 1},{dt,-1, 0, 5, 1},
{ds,-1, 0, 4, 2},
run_list( {{aw, 2, 0, a+1,-2},{aw, 1, 1, a+1,-3},
{aw,-2, 0, a+1, 2},{aw,-3, 1, a+1, 1},
{ec, 0, 1, a+1,-4},{ec,-1, 1, c+1,-3},{ec,-1, 1, c+2,-2},{ec,-2, 1, c+2,-1},{ec,-3, 1, c+1,-1},{ec,-4, 1, a+1, 0},
{ds, 0, 1, a+1,-3},
{dt, 0, 1, c+1,-2},{ds, 1, 0, a+1,-2},
{dt,-1, 1, c+1,-1},{dt, 0, 0, c+1,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{ds,-3, 1, a+1, 0},{dt,-2, 1, c+1, 0},{dt,-1, 0, c+1, 0},{dt, 0, 0, c+1, 0},
{ds,-2, 0, a+1, 1},{dt,-1, 0, c, 1},
{ds,-1, 0, a, 2},
{add_ref,-1, 1, 0,-1},
{add_brace,-2, 0, 0, 0},
{add_brace, 0, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 20 then -- pointed south (8, dig up)
run_list( {{aw, 3, 0, 4, 0},{aw, 3, 0, 5,-1},{aw, 3, 1, 5,-2},
{aw,-3, 0, 4, 0},{aw,-3, 0, 5,-1},{aw,-3, 1, 5,-2},
{ec, 3, 1, 5,-3},{ec, 2, 1, 6,-3},{ec, 1, 1, 7,-3},{ec, 0, 1, 7,-3},{ec,-1, 1, 7,-3},{ec,-2, 1, 6,-3},{ec,-3, 1, 5,-3},
{ds,-2, 1, 5,-2},{dt,-1, 1, 6,-2},{dt, 0, 1, 6,-2},{dt, 1, 1, 6,-2},{ds, 2, 1, 5,-2},
{ds,-2, 0, 5,-1},{dt,-1, 0, 6,-1},{dt, 0, 0, 6,-1},{dt, 1, 0, 6,-1},{ds, 2, 0, 5,-1},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
run_list( {{aw, 3, 0, a, 0},{aw, 3, 0, a+1,-1},{aw, 3, 1, a+1,-2},
{aw,-3, 0, a, 0},{aw,-3, 0, a+1,-1},{aw,-3, 1, a+1,-2},
{ec, 3, 1, a+1,-3},{ec, 2, 1, a+2,-3},{ec, 1, 1, c+2,-3},{ec, 0, 1, c+2,-3},{ec,-1, 1, c+2,-3},{ec,-2, 1, a+2,-3},{ec,-3, 1, a+1,-3},
{ds,-2, 1, a+1,-2},{dt,-1, 1, c+1,-2},{dt, 0, 1, c+1,-2},{dt, 1, 1, c+1,-2},{ds, 2, 1, a+1,-2},
{ds,-2, 0, a+1,-1},{dt,-1, 0, c+1,-1},{dt, 0, 0, c+1,-1},{dt, 1, 0, c+1,-1},{ds, 2, 0, a+1,-1},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{add_ref,0, 1, 0,-2},
{add_brace,-1, 0, 0,-2},
{add_brace, 1, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 21 then -- pointed southeast (10, dig up)
run_list( {{aw, 2, 0, 5, 2},{aw, 3, 1, 5, 1},
{aw,-2, 0, 5,-2},{aw,-1, 1, 5,-3},
{ec, 4, 1, 5, 0},{ec, 3, 1, 6,-1},{ec, 2, 1, 7,-1},{ec, 1, 1, 7,-2},{ec, 1, 1, 6,-3},{ec, 0, 1, 5,-4},
{ds, 0, 1, 5,-3},
{ds,-1, 0, 5,-2},{dt, 0, 1, 6,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0, 0, 6,-1},{dt, 1, 1, 6,-1},
{dt, 0, 0, 6, 0},{dt, 1, 0, 6, 0},{dt, 2, 1, 6, 0},{ds, 3, 1, 5, 0},
{dt, 1, 0, 5, 1},{ds, 2, 0, 5, 1},
{ds, 1, 0, 4, 2},
run_list( {{aw, 2, 0, a+1, 2},{aw, 3, 1, a+1, 1},
{aw,-2, 0, a+1,-2},{aw,-1, 1, a+1,-3},
{ec, 4, 1, a+1, 0},{ec, 3, 1, c+1,-1},{ec, 2, 1, c+2,-1},{ec, 1, 1, c+2,-2},{ec, 1, 1, c+1,-3},{ec, 0, 1, a+1,-4},
{ds, 0, 1, a+1,-3},
{ds,-1, 0, a+1,-2},{dt, 0, 1, c+1,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0, 0, c+1,-1},{dt, 1, 1, c+1,-1},
{dt, 0, 0, c+1, 0},{dt, 1, 0, c+1, 0},{dt, 2, 1, c+1, 0},{ds, 3, 1, a+1, 0},
{dt, 1, 0, c, 1},{ds, 2, 0, a+1, 1},
{ds, 1, 0, a, 2},
{add_ref, 1, 1, 0,-1},
{add_brace, 2, 0, 0, 0},
{add_brace, 0, 0, 0,-2}}, user, pointed_thing)
elseif cdir == 22 then -- pointed east (12, dig up)
run_list( {{aw, 0, 0, 4, 3},{aw, 1, 0, 5, 3},{aw, 2, 1, 5, 3},
{aw, 0, 0, 4,-3},{aw, 1, 0, 5,-3},{aw, 2, 1, 5,-3},
{ec, 3, 1, 5, 3},{ec, 3, 1, 6, 2},{ec, 3, 1, 7, 1},{ec, 3, 1, 7, 0},{ec, 3, 1, 7,-1},{ec, 3, 1, 6,-2},{ec, 3, 1, 5,-3},
{ds, 0, 0, 4,-2},{ds, 1, 0, 5,-2},{ds, 2, 1, 5,-2},
{dt, 0, 0, 5,-1},{dt, 1, 0, 6,-1},{dt, 2, 1, 6,-1},
{dt, 0, 0, 5, 0},{dt, 1, 0, 6, 0},{dt, 2, 1, 6, 0},
{dt, 0, 0, 5, 1},{dt, 1, 0, 6, 1},{dt, 2, 1, 6, 1},
{ds, 0, 0, 4, 2},{ds, 1, 0, 5, 2},{ds, 2, 1, 5, 2},
run_list( {{aw, 0, 0, a, 3},{aw, 1, 0, a+1, 3},{aw, 2, 1, a+1, 3},
{aw, 0, 0, a,-3},{aw, 1, 0, a+1,-3},{aw, 2, 1, a+1,-3},
{ec, 3, 1, a+1, 3},{ec, 3, 1, a+2, 2},{ec, 3, 1, c+2, 1},{ec, 3, 1, c+2, 0},{ec, 3, 1, c+2,-1},{ec, 3, 1, a+2,-2},{ec, 3, 1, a+1,-3},
{ds, 0, 0, a,-2},{ds, 1, 0, a+1,-2},{ds, 2, 1, a+1,-2},
{dt, 0, 0, c,-1},{dt, 1, 0, c+1,-1},{dt, 2, 1, c+1,-1},
{dt, 0, 0, c, 0},{dt, 1, 0, c+1, 0},{dt, 2, 1, c+1, 0},
{dt, 0, 0, c, 1},{dt, 1, 0, c+1, 1},{dt, 2, 1, c+1, 1},
{ds, 0, 0, a, 2},{ds, 1, 0, a+1, 2},{ds, 2, 1, a+1, 2},
{add_ref, 2, 1, 0, 0},
{add_brace, 2, 0, 0, 1},
{add_brace, 2, 0, 0,-1}}, user, pointed_thing)
elseif cdir == 23 then -- pointed northeast (14, dig up)
run_list( {{aw,-2, 0, 5, 2},{aw,-1, 1, 5, 3},
{aw, 2, 0, 5,-2},{aw, 3, 1, 5,-1},
{ec, 0, 1, 5, 4},{ec, 1, 1, 6, 3},{ec, 1, 1, 7, 2},{ec, 2, 1, 7, 1},{ec, 3, 1, 6, 1},{ec, 4, 1, 5, 0},
{ds, 1, 0, 4,-2},
{dt, 1, 0, 5,-1},{ds, 2, 0, 5,-1},
{dt, 0, 0, 6, 0},{dt, 1, 0, 6, 0},{dt, 2, 1, 6, 0},{ds, 3, 1, 5, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0, 0, 6, 1},{dt, 1, 1, 6, 1},
{ds,-1, 0, 5, 2},{dt, 0, 1, 6, 2},
{ds, 0, 1, 5, 3},
run_list( {{aw,-2, 0, a+1, 2},{aw,-1, 1, a+1, 3},
{aw, 2, 0, a+1,-2},{aw, 3, 1, a+1,-1},
{ec, 0, 1, a+1, 4},{ec, 1, 1, c+1, 3},{ec, 1, 1, c+2, 2},{ec, 2, 1, c+2, 1},{ec, 3, 1, c+1, 1},{ec, 4, 1, a+1, 0},
{ds, 1, 0, a,-2},
{dt, 1, 0, c,-1},{ds, 2, 0, a+1,-1},
{dt, 0, 0, c+1, 0},{dt, 1, 0, c+1, 0},{dt, 2, 1, c+1, 0},{ds, 3, 1, a+1, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0, 0, c+1, 1},{dt, 1, 1, c+1, 1},
{ds,-1, 0, a+1, 2},{dt, 0, 1, c+1, 2},
{ds, 0, 1, a+1, 3},
{add_ref, 1, 1, 0, 1},
{add_brace, 0, 0, 0, 2},
{add_brace, 2, 0, 0, 0}}, user, pointed_thing)
-- Dig for slope down
elseif cdir == 24 then -- pointed north (0, dig down)
run_list( {{aw,-3, 0, 4, 0},{aw,-3,-1, 4, 1},{aw,-3,-1, 3, 2},
{aw, 3, 0, 4, 0},{aw, 3,-1, 4, 1},{aw, 3,-1, 3, 2},
{ec,-3,-1, 3, 3},{ec,-2,-1, 4, 3},{ec,-1,-1, 5, 3},{ec, 0,-1, 5, 3},{ec, 1,-1, 5, 3},{ec, 2,-1, 4, 3},{ec, 3,-1, 3, 3},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
{ds,-2,-1, 4, 1},{dt,-1,-1, 5, 1},{dt, 0,-1, 5, 1},{dt, 1,-1, 5, 1},{ds, 2,-1, 4, 1},
{ds,-2,-1, 3, 2},{dt,-1,-1, 4, 2},{dt, 0,-1, 4, 2},{dt, 1,-1, 4, 2},{ds, 2,-1, 3, 2},
run_list( {{aw,-3, 0, a, 0},{aw,-3,-1, a, 1},{aw,-3,-1, a-1, 2},
{aw, 3, 0, a, 0},{aw, 3,-1, a, 1},{aw, 3,-1, a-1, 2},
{ec,-3,-1, a-1, 3},{ec,-2,-1, a, 3},{ec,-1,-1, c, 3},{ec, 0,-1, c, 3},{ec, 1,-1, c, 3},{ec, 2,-1, a, 3},{ec, 3,-1, a-1, 3},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{ds,-2,-1, a, 1},{dt,-1,-1, c, 1},{dt, 0,-1, c, 1},{dt, 1,-1, c, 1},{ds, 2,-1, a, 1},
{ds,-2,-1, a-1, 2},{dt,-1,-1, c-1, 2},{dt, 0,-1, c-1, 2},{dt, 1,-1, c-1, 2},{ds, 2,-1, a-1, 2},
{add_ref, 0,-1, 0, 2},
{add_brace,-1,-1, 0, 0},
{add_brace, 1,-1, 0, 0}}, user, pointed_thing)
elseif cdir == 25 then -- pointed northwest (2, dig down)
run_list( {{aw,-2,-1, 4,-2},{aw,-3,-1, 4,-1},
{aw, 2,-1, 4, 2},{aw, 1,-1, 4, 3},
{ec,-4,-1, 3, 0},{ec,-3,-1, 4, 1},{ec,-2,-1, 5, 1},{ec,-1,-1, 5, 2},{ec,-1,-1, 4, 3},{ec, 0,-1, 3, 4},
{ds,-1, 0, 4,-2},
{ds,-2,-1, 4,-1},{dt,-1, 0, 5,-1},
{ds,-3,-1, 3, 0},{dt,-2,-1, 4, 0},{dt,-1,-1, 5, 0},{dt, 0, 0, 5, 0},
{dt,-1,-1, 5, 1},{dt, 0,-1, 5, 1},{dt, 1, 0, 5, 1},{ds, 2, 0, 4, 1},
{dt, 0,-1, 4, 2},{ds, 1,-1, 4, 2},
{ds, 0,-1, 3, 3},
run_list( {{aw,-2,-1, a,-2},{aw,-3,-1, a,-1},
{aw, 2,-1, a, 2},{aw, 1,-1, a, 3},
{ec,-4,-1, a-1, 0},{ec,-3,-1, a, 1},{ec,-2,-1, c, 1},{ec,-1,-1, c, 2},{ec,-1,-1, a, 3},{ec, 0,-1, a-1, 4},
{ds,-1, 0, a,-2},
{ds,-2,-1, a,-1},{dt,-1, 0, c,-1},
{ds,-3,-1, a-1, 0},{dt,-2,-1, c-1, 0},{dt,-1,-1, c, 0},{dt, 0, 0, c, 0},
{dt,-1,-1, c, 1},{dt, 0,-1, c, 1},{dt, 1, 0, c, 1},{ds, 2, 0, a, 1},
{dt, 0,-1, c-1, 2},{ds, 1,-1, a, 2},
{ds, 0,-1, a-1, 3},
{add_ref,-1,-1, 0, 1},
{add_brace,-1,-1, 0,-1},
{add_brace, 1,-1, 0, 1}}, user, pointed_thing)
elseif cdir == 26 then -- pointed west (4, dig down)
run_list( {{aw, 0, 0, 4,-3},{aw,-1,-1, 4,-3},{aw,-2,-1, 3,-3},
{aw, 0, 0, 4, 3},{aw,-1,-1, 4, 3},{aw,-2,-1, 3, 3},
{ec,-3,-1, 3,-3},{ec,-3,-1, 4,-2},{ec,-3,-1, 5,-1},{ec,-3,-1, 5, 0},{ec,-3,-1, 5, 1},{ec,-3,-1, 4, 2},{ec,-3,-1, 3, 3},
{ds,-2,-1, 3,-2},{ds,-1,-1, 4,-2},{ds, 0, 0, 4,-2},
{dt,-2,-1, 4,-1},{dt,-1,-1, 5,-1},{dt, 0, 0, 5,-1},
{dt,-2,-1, 4, 0},{dt,-1,-1, 5, 0},{dt, 0, 0, 5, 0},
{dt,-2,-1, 4, 1},{dt,-1,-1, 5, 1},{dt, 0, 0, 5, 1},
{ds,-2,-1, 3, 2},{ds,-1,-1, 4, 2},{ds, 0, 0, 4, 2},
run_list( {{aw, 0, 0, a,-3},{aw,-1,-1, a,-3},{aw,-2,-1, a-1,-3},
{aw, 0, 0, a, 3},{aw,-1,-1, a, 3},{aw,-2,-1, a-1, 3},
{ec,-3,-1, a-1,-3},{ec,-3,-1, a,-2},{ec,-3,-1, c,-1},{ec,-3,-1, c, 0},{ec,-3,-1, c, 1},{ec,-3,-1, a, 2},{ec,-3,-1, a-1, 3},
{ds,-2,-1, a-1,-2},{ds,-1,-1, a,-2},{ds, 0, 0, a,-2},
{dt,-2,-1, c-1,-1},{dt,-1,-1, c,-1},{dt, 0, 0, c,-1},
{dt,-2,-1, c-1, 0},{dt,-1,-1, c, 0},{dt, 0, 0, c, 0},
{dt,-2,-1, c-1, 1},{dt,-1,-1, c, 1},{dt, 0, 0, c, 1},
{ds,-2,-1, a-1, 2},{ds,-1,-1, a, 2},{ds, 0, 0, a, 2},
{add_ref,-2,-1, 0, 0},
{add_brace, 0,-1, 0, 1},
{add_brace, 0,-1, 0,-1}}, user, pointed_thing)
elseif cdir == 27 then -- pointed southwest (6, dig down)
run_list( {{aw, 2,-1, 4,-2},{aw, 1,-1, 4,-3},
{aw,-2,-1, 4, 2},{aw,-3,-1, 4, 1},
{ec, 0,-1, 3,-4},{ec,-1,-1, 4,-3},{ec,-1, -1, 5,-2},{ec,-2,-1, 5,-1},{ec,-3,-1, 4,-1},{ec,-4,-1, 3, 0},
{ds, 0,-1, 3,-3},
{dt, 0,-1, 4,-2},{ds, 1,-1, 4,-2},
{dt,-1,-1, 5,-1},{dt, 0,-1, 5,-1},{dt, 1, 0, 5,-1},{ds, 2, 0, 4,-1},
{ds,-3,-1, 3, 0},{dt,-2,-1, 4, 0},{dt,-1,-1, 5, 0},{dt, 0, 0, 5, 0},
{ds,-2,-1, 4, 1},{dt,-1, 0, 5, 1},
{ds,-1, 0, 4, 2},
run_list( {{aw, 2,-1, a,-2},{aw, 1,-1, a,-3},
{aw,-2,-1, a, 2},{aw,-3,-1, a, 1},
{ec, 0,-1, a-1,-4},{ec,-1,-1, a,-3},{ec,-1, -1, c,-2},{ec,-2,-1, c,-1},{ec,-3,-1, a,-1},{ec,-4,-1, a-1, 0},
{ds, 0,-1, a-1,-3},
{dt, 0,-1, c-1,-2},{ds, 1,-1, a,-2},
{dt,-1,-1, c,-1},{dt, 0,-1, c,-1},{dt, 1, 0, c,-1},{ds, 2, 0, a,-1},
{ds,-3,-1, a-1, 0},{dt,-2,-1, c-1, 0},{dt,-1,-1, c, 0},{dt, 0, 0, c, 0},
{ds,-2,-1, a, 1},{dt,-1, 0, c, 1},
{ds,-1, 0, a, 2},
{add_ref,-1,-1, 0,-1},
{add_brace,-1,-1, 0, 1},
{add_brace, 1,-1, 0,-1}}, user, pointed_thing)
elseif cdir == 28 then -- pointed south (8, dig down)
run_list( {{aw, 3, 0, 4, 0},{aw, 3,-1, 4,-1},{aw, 3,-1, 3,-2},
{aw,-3, 0, 4, 0},{aw,-3,-1, 4,-1},{aw,-3,-1, 3,-2},
{ec, 3,-1, 3,-3},{ec, 2,-1, 4,-3},{ec, 1,-1, 5,-3},{ec, 0,-1, 5,-3},{ec,-1,-1, 5,-3},{ec,-2,-1, 4,-3},{ec,-3,-1, 3,-3},
{ds,-2,-1, 3,-2},{dt,-1,-1, 4,-2},{dt, 0,-1, 4,-2},{dt, 1,-1, 4,-2},{ds, 2,-1, 3,-2},
{ds,-2,-1, 4,-1},{dt,-1,-1, 5,-1},{dt, 0,-1, 5,-1},{dt, 1,-1, 5,-1},{ds, 2,-1, 4,-1},
{ds,-2, 0, 4, 0},{dt,-1, 0, 5, 0},{dt, 0, 0, 5, 0},{dt, 1, 0, 5, 0},{ds, 2, 0, 4, 0},
run_list( {{aw, 3, 0, a, 0},{aw, 3,-1, a,-1},{aw, 3,-1, a-1,-2},
{aw,-3, 0, a, 0},{aw,-3,-1, a,-1},{aw,-3,-1, a-1,-2},
{ec, 3,-1, a-1,-3},{ec, 2,-1, a,-3},{ec, 1,-1, c,-3},{ec, 0,-1, c,-3},{ec,-1,-1, c,-3},{ec,-2,-1, a,-3},{ec,-3,-1, a-1,-3},
{ds,-2,-1, a-1,-2},{dt,-1,-1, c-1,-2},{dt, 0,-1, c-1,-2},{dt, 1,-1, c-1,-2},{ds, 2,-1, a-1,-2},
{ds,-2,-1, a,-1},{dt,-1,-1, c,-1},{dt, 0,-1, c,-1},{dt, 1,-1, c,-1},{ds, 2,-1, a,-1},
{ds,-2, 0, a, 0},{dt,-1, 0, c, 0},{dt, 0, 0, c, 0},{dt, 1, 0, c, 0},{ds, 2, 0, a, 0},
{add_ref, 0,-1, 0,-2},
{add_brace,-1,-1, 0, 0},
{add_brace, 1,-1, 0, 0}}, user, pointed_thing)
elseif cdir == 29 then -- pointed southeast (10, dig down)
run_list( {{aw, 2,-1, 4, 2},{aw, 3,-1, 4, 1},
{aw,-2,-1, 4,-2},{aw,-1,-1, 4,-3},
{ec, 4,-1, 3, 0},{ec, 3,-1, 4,-1},{ec, 2,-1, 5,-1},{ec, 1,-1, 5,-2},{ec, 1,-1, 4,-3},{ec, 0,-1, 3,-4},
{ds, 0,-1, 3,-3},
{ds,-1,-1, 4,-2},{dt, 0,-1, 4,-2},
{ds,-2, 0, 4,-1},{dt,-1, 0, 5,-1},{dt, 0,-1, 5,-1},{dt, 1,-1, 5,-1},
{dt, 0, 0, 5, 0},{dt, 1,-1, 5, 0},{dt, 2,-1, 4, 0},{ds, 3,-1, 3, 0},
{dt, 1, 0, 5, 1},{ds, 2,-1, 4, 1},
{ds, 1, 0, 4, 2},
run_list( {{aw, 2,-1, a, 2},{aw, 3,-1, a, 1},
{aw,-2,-1, a,-2},{aw,-1,-1, a,-3},
{ec, 4,-1, a-1, 0},{ec, 3,-1, a,-1},{ec, 2,-1, c,-1},{ec, 1,-1, c,-2},{ec, 1,-1, a,-3},{ec, 0,-1, a-1,-4},
{ds, 0,-1, a-1,-3},
{ds,-1,-1, a,-2},{dt, 0,-1, c-1,-2},
{ds,-2, 0, a,-1},{dt,-1, 0, c,-1},{dt, 0,-1, c,-1},{dt, 1,-1, c,-1},
{dt, 0, 0, c, 0},{dt, 1,-1, c, 0},{dt, 2,-1, c-1, 0},{ds, 3,-1, a-1, 0},
{dt, 1, 0, c, 1},{ds, 2,-1, a, 1},
{ds, 1, 0, a, 2},
{add_ref, 1,-1, 0,-1},
{add_brace,-1,-1, 0,-1},
{add_brace, 1,-1, 0, 1}}, user, pointed_thing)
elseif cdir == 30 then -- pointed east (12, dig down)
run_list( {{aw, 0, 0, 4, 3},{aw, 1,-1, 4, 3},{aw, 2,-1, 3, 3},
{aw, 0, 0, 4,-3},{aw, 1,-1, 4,-3},{aw, 2,-1, 3,-3},
{ec, 3,-1, 3, 3},{ec, 3,-1, 4, 2},{ec, 3,-1, 5, 1},{ec, 3,-1, 5, 0},{ec, 3,-1, 5,-1},{ec, 3,-1, 4,-2},{ec, 3,-1, 3,-3},
{ds, 0, 0, 4,-2},{ds, 1,-1, 4,-2},{ds, 2,-1, 3,-2},
{dt, 0, 0, 5,-1},{dt, 1,-1, 5,-1},{dt, 2,-1, 4,-1},
{dt, 0, 0, 5, 0},{dt, 1,-1, 5, 0},{dt, 2,-1, 4, 0},
{dt, 0, 0, 5, 1},{dt, 1,-1, 5, 1},{dt, 2,-1, 4, 1},
{ds, 0, 0, 4, 2},{ds, 1,-1, 4, 2},{ds, 2,-1, 3, 2},
run_list( {{aw, 0, 0, a, 3},{aw, 1,-1, a, 3},{aw, 2,-1, a-1, 3},
{aw, 0, 0, a,-3},{aw, 1,-1, a,-3},{aw, 2,-1, a-1,-3},
{ec, 3,-1, a-1, 3},{ec, 3,-1, a, 2},{ec, 3,-1, c, 1},{ec, 3,-1, c, 0},{ec, 3,-1, c,-1},{ec, 3,-1, a,-2},{ec, 3,-1, a-1,-3},
{ds, 0, 0, a,-2},{ds, 1,-1, a,-2},{ds, 2,-1, a-1,-2},
{dt, 0, 0, c,-1},{dt, 1,-1, c,-1},{dt, 2,-1, c-1,-1},
{dt, 0, 0, c, 0},{dt, 1,-1, c, 0},{dt, 2,-1, c-1, 0},
{dt, 0, 0, c, 1},{dt, 1,-1, c, 1},{dt, 2,-1, c-1, 1},
{ds, 0, 0, a, 2},{ds, 1,-1, a, 2},{ds, 2,-1, a-1, 2},
{add_ref, 2,-1, 0, 0},
{add_brace, 0,-1, 0, 1},
{add_brace, 0,-1, 0,-1}}, user, pointed_thing)
elseif cdir == 31 then -- pointed northeast (14, dig down)
run_list( {{aw,-2,-1, 4, 2},{aw,-1,-1, 4, 3},
{aw, 2,-1, 4,-2},{aw, 3,-1, 4,-1},
{ec, 0,-1, 3, 4},{ec, 1,-1, 4, 3},{ec, 1,-1, 5, 2},{ec, 2,-1, 5, 1},{ec, 3,-1, 4, 1},{ec, 4,-1, 3, 0},
{ds, 1, 0, 4,-2},
{dt, 1, 0, 5,-1},{ds, 2,-1, 4,-1},
{dt, 0, 0, 5, 0},{dt, 1,-1, 5, 0},{dt, 2,-1, 4, 0},{ds, 3,-1, 3, 0},
{ds,-2, 0, 4, 1},{dt,-1, 0, 5, 1},{dt, 0,-1, 5, 1},{dt, 1,-1, 5, 1},
{ds,-1,-1, 4, 2},{dt, 0,-1, 4, 2},
{ds, 0,-1, 3, 3},
{add_ref,-1,-1, 0, 1},
run_list( {{aw,-2,-1, a, 2},{aw,-1,-1, a, 3},
{aw, 2,-1, a,-2},{aw, 3,-1, a,-1},
{ec, 0,-1, a-1, 4},{ec, 1,-1, a, 3},{ec, 1,-1, c, 2},{ec, 2,-1, c, 1},{ec, 3,-1, a, 1},{ec, 4,-1, a-1, 0},
{ds, 1, 0, a,-2},
{dt, 1, 0, c,-1},{ds, 2,-1, a,-1},
{dt, 0, 0, c, 0},{dt, 1,-1, c, 0},{dt, 2,-1, c-1, 0},{ds, 3,-1, a-1, 0},
{ds,-2, 0, a, 1},{dt,-1, 0, c, 1},{dt, 0,-1, c, 1},{dt, 1,-1, c, 1},
{ds,-1,-1, a, 2},{dt, 0,-1, c-1, 2},
{ds, 0,-1, a-1, 3},
{add_ref, 1,-1, 0, 1}, -- fixed bug
{add_brace,-1,-1, 0, 0},
{add_brace, 1,-1, 0,-1}}, user, pointed_thing)
end