add rare thicker Goblin Caps, suitable for use as huts.

This commit is contained in:
FaceDeer
2020-01-28 22:58:32 -07:00
parent d9236c33a3
commit b4293d30c6
12 changed files with 633 additions and 9 deletions

View File

@ -131,6 +131,22 @@ minetest.register_craft({
burntime = 2,
})
local thick_goblin_cap_schem = dofile(MP.."/schematics/goblin_cap_thick.lua")
local thicker_goblin_cap_schem = dofile(MP.."/schematics/goblin_cap_thicker.lua")
local hut_goblin_cap_schem = dofile(MP.."/schematics/goblin_cap_hut.lua")
-- The hut has a chest near pos, use this to initialize it
local chest_on_construct = minetest.registered_items["default:chest"].on_construct
local init_chest = function(pos)
local chest_pos = minetest.find_node_near({x=pos.x, y=pos.y+1, z=pos.z}, 1, "default:chest")
if chest_pos then
chest_on_construct(chest_pos)
local inv = minetest.get_inventory({type="node", pos=chest_pos})
inv:add_item("main", "default:apple 3")
inv:add_item("main", "default:gold_ingot ".. math.random(1,5))
end
end
-- sapling
minetest.register_node("df_trees:goblin_cap_sapling", {
description = S("Goblin Cap Spawn"),
@ -165,7 +181,16 @@ minetest.register_node("df_trees:goblin_cap_sapling", {
on_timer = function(pos)
minetest.set_node(pos, {name="air"})
df_trees.spawn_goblin_cap(pos)
if minetest.find_node_near({x=pos.x, y=pos.y-1, z=pos.z}, 1, {"group:straw"}) then
if math.random() < 0.5 then
mapgen_helper.place_schematic(pos, thick_goblin_cap_schem)
else
mapgen_helper.place_schematic(pos, thicker_goblin_cap_schem)
end
return
else
df_trees.spawn_goblin_cap(pos)
end
end,
})
@ -173,8 +198,32 @@ local c_stem = minetest.get_content_id("df_trees:goblin_cap_stem")
local c_cap = minetest.get_content_id("df_trees:goblin_cap")
local c_gills = minetest.get_content_id("df_trees:goblin_cap_gills")
if minetest.get_modpath("farming") then
local straw_def = minetest.registered_items["farming:straw"]
if straw_def then
local new_groups = {}
for group, val in pairs(straw_def.groups) do
new_groups[group] = val
end
new_groups.straw = 1
minetest.override_item("farming:straw", {
groups = new_groups
})
end
end
df_trees.spawn_goblin_cap = function(pos)
if math.random() < 0.1 then
if math.random() < 0.5 then
mapgen_helper.place_schematic(pos, thick_goblin_cap_schem)
else
mapgen_helper.place_schematic(pos, thicker_goblin_cap_schem)
end
return
end
local x, y, z = pos.x, pos.y, pos.z
local stem_height = math.random(1,3)
local cap_radius = math.random(3,6)
local maxy = y + stem_height + 3
@ -194,7 +243,21 @@ df_trees.spawn_goblin_cap = function(pos)
vm:update_map()
end
df_trees.spawn_goblin_cap_vm = function(vi, area, data)
df_trees.spawn_goblin_cap_vm = function(vi, area, data, data_param2)
if math.random() < 0.1 then
local pos = area:position(vi)
if math.random() < 0.5 then
mapgen_helper.place_schematic_on_data(data, data_param2, area, pos, thick_goblin_cap_schem)
elseif math.random() < 0.9 then
mapgen_helper.place_schematic_on_data(data, data_param2, area, pos, thicker_goblin_cap_schem)
else
-- easter egg - every once in a while (0.5%), a mapgen Goblin cap is a Smurf house
minetest.after(5, init_chest, pos)
mapgen_helper.place_schematic_on_data(data, data_param2, area, pos, hut_goblin_cap_schem)
end
return
end
local stem_height = math.random(1,3)
local cap_radius = math.random(3,6)
subterrane.giant_mushroom(vi, area, data, c_stem, c_cap, c_gills, stem_height, cap_radius)

View File

@ -1,4 +1,4 @@
name = df_trees
description = Adds various types of underground fungal "trees". Light kills their saplings, they only grow in the dark.
depends = default
optional_depends = intllib, doc, moreblocks, stairs, vessels, basic_materials
optional_depends = intllib, doc, moreblocks, stairs, vessels, basic_materials, farming, doors, beds

View File

@ -0,0 +1,192 @@
local n1 = { name = "air", prob = 0 } -- external air
local n2 = { name = "stairs:stair_goblin_cap_stem_wood" }
local n3 = { name = "air", force_place=true } -- internal air
local n4 = { name = "df_trees:goblin_cap" }
local n5 = { name = "df_trees:goblin_cap_stem_wood" } -- porch filler
local n6 = { name = "df_trees:goblin_cap_gills", param2 = 1 }
local n7 = { name = "df_trees:goblin_cap_stem", force_place=true }
local n8 = { name = "df_trees:goblin_cap_stem_wood", force_place=true } -- internal floor
local n9 = { name = "doors:door_wood_a", force_place=true }
local n10 = { name = "doors:hidden", force_place=true }
local n11 = { name = "beds:bed_bottom", force_place=true }
local n12 = { name = "df_trees:goblin_cap_stem", prob = 198, force_place=true } -- possible window holes
local n13 = { name = "default:chest", force_place=true }
local n14 = { name = "beds:bed_top", force_place=true }
local n15 = { name = "default:torch_wall", param2 = 4, force_place=true}
local n16 = { name = "df_trees:goblin_cap_stem" } -- ground filler
local n17 = { name = "df_trees:goblin_cap_wood", force_place=true } -- internal ceiling
if minetest.get_modpath("vessels") then
n15 = { name = "df_trees:glowing_bottle_red", force_place=true}
end
if not minetest.get_modpath("doors") then
-- replace the door with air
n9 = n3
n10 = n3
end
if not minetest.get_modpath("beds") then
--replace the bed with air
n11 = n3
n14 = n3
end
return {
yslice_prob = { },
size = {y = 8, x = 9, z = 9},
center_pos = {x = 4, y = 2, z = 4},
data = {
-- z=0, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=1
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=0, y=2
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=3
n1, n1, n1, n1, n3, n1, n1, n1, n1,
-- z=0, y=4
n1, n1, n1, n1, n3, n1, n1, n1, n1,
-- z=0, y=5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=0, y=6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=1, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=1, y=1
n1, n1, n1, n1, n5, n1, n1, n1, n1,
-- z=1, y=2
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=1, y=3
n1, n1, n1, n1, n3, n1, n1, n1, n1,
-- z=1, y=4
n1, n1, n1, n1, n3, n1, n1, n1, n1,
-- z=1, y=5
n1, n4, n4, n6, n6, n6, n4, n4, n1,
-- z=1, y=6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=1, y=7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=2, y=0
n1, n1, n1, n16, n16, n16, n1, n1, n1,
-- z=2, y=1
n1, n1, n1, n16, n16, n16, n1, n1, n1,
-- z=2, y=2
n1, n1, n1, n7, n8, n7, n1, n1, n1,
-- z=2, y=3
n1, n1, n1, n7, n9, n7, n1, n1, n1,
-- z=2, y=4
n1, n1, n1, n7, n10, n7, n1, n1, n1,
-- z=2, y=5
n1, n4, n6, n7, n7, n7, n6, n4, n1,
-- z=2, y=6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=2, y=7
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=3, y=0
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=3, y=1
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=3, y=2
n1, n1, n7, n8, n8, n8, n7, n1, n1,
-- z=3, y=3
n1, n1, n7, n3, n3, n3, n7, n1, n1,
-- z=3, y=4
n1, n1, n7, n3, n3, n3, n7, n1, n1,
-- z=3, y=5
n4, n6, n7, n3, n3, n3, n7, n6, n4,
-- z=3, y=6
n1, n4, n4, n17, n17, n17, n4, n4, n1,
-- z=3, y=7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=4, y=0
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=4, y=1
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=4, y=2
n1, n1, n7, n8, n8, n8, n7, n1, n1,
-- z=4, y=3
n1, n1, n7, n3, n3, n11, n7, n1, n1,
-- z=4, y=4
n1, n1, n12, n3, n3, n3, n12, n1, n1,
-- z=4, y=5
n4, n6, n7, n3, n3, n3, n7, n6, n4,
-- z=4, y=6
n1, n4, n4, n17, n17, n17, n4, n4, n1,
-- z=4, y=7
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=5, y=0
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=5, y=1
n1, n1, n16, n16, n16, n16, n16, n1, n1,
-- z=5, y=2
n1, n1, n7, n8, n8, n8, n7, n1, n1,
-- z=5, y=3
n1, n1, n7, n13, n3, n14, n7, n1, n1,
-- z=5, y=4
n1, n1, n7, n15, n3, n3, n7, n1, n1,
-- z=5, y=5
n4, n6, n7, n3, n3, n3, n7, n6, n4,
-- z=5, y=6
n1, n4, n4, n17, n17, n17, n4, n4, n1,
-- z=5, y=7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=6, y=0
n1, n1, n1, n16, n16, n16, n1, n1, n1,
-- z=6, y=1
n1, n1, n1, n16, n16, n16, n1, n1, n1,
-- z=6, y=2
n1, n1, n1, n7, n7, n7, n1, n1, n1,
-- z=6, y=3
n1, n1, n1, n7, n7, n7, n1, n1, n1,
-- z=6, y=4
n1, n1, n1, n7, n12, n7, n1, n1, n1,
-- z=6, y=5
n1, n4, n6, n7, n7, n7, n6, n4, n1,
-- z=6, y=6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=6, y=7
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=7, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=7, y=1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=7, y=2
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=7, y=3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=7, y=4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=7, y=5
n1, n4, n4, n6, n6, n6, n4, n4, n1,
-- z=7, y=6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=7, y=7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=2
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=8, y=6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=8, y=7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
}
}

View File

@ -0,0 +1,164 @@
local n1 = { name = "air", prob=0 }
local n2 = { name = "df_trees:goblin_cap" }
local n3 = { name = "df_trees:goblin_cap_gills", param2 = 1 }
local n4 = { name = "df_trees:goblin_cap_stem" }
return {
yslice_prob = {},
size = {y = 8, x = 9, z = 9},
center_pos = {x = 4, y = 2, z = 4},
data = {
-- z=-8, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-2
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=-8, y=-1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-2
n1, n1, n2, n2, n3, n2, n2, n1, n1,
-- z=-7, y=-1
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-7, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-6, y=-7
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-6, y=-6
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-6, y=-5
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-6, y=-4
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-6, y=-3
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-6, y=-2
n1, n2, n3, n3, n4, n3, n3, n2, n1,
-- z=-6, y=-1
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-6, y=0
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=-5, y=-7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-5, y=-6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-5, y=-5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-5, y=-4
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-5, y=-3
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-5, y=-2
n1, n2, n3, n4, n4, n4, n3, n2, n1,
-- z=-5, y=-1
n1, n2, n2, n2, n4, n2, n2, n2, n1,
-- z=-5, y=0
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-4, y=-7
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-5
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-4
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-3
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-2
n2, n3, n4, n4, n4, n4, n4, n3, n2,
-- z=-4, y=-1
n1, n2, n2, n4, n4, n4, n2, n2, n1,
-- z=-4, y=0
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-3, y=-7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-3, y=-6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-3, y=-5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-3, y=-4
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-3, y=-3
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-3, y=-2
n1, n2, n3, n4, n4, n4, n3, n2, n1,
-- z=-3, y=-1
n1, n2, n2, n2, n4, n2, n2, n2, n1,
-- z=-3, y=0
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-2, y=-7
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-2, y=-6
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-2, y=-5
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-2, y=-4
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-2, y=-3
n1, n1, n1, n1, n4, n1, n1, n1, n1,
-- z=-2, y=-2
n1, n2, n3, n3, n4, n3, n3, n2, n1,
-- z=-2, y=-1
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-2, y=0
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=-1, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-2
n1, n1, n2, n2, n3, n2, n2, n1, n1,
-- z=-1, y=-1
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-1, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-2
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=0, y=-1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
}
}

View File

@ -0,0 +1,164 @@
local n1 = { name = "air", prob=0 }
local n2 = { name = "df_trees:goblin_cap" }
local n3 = { name = "df_trees:goblin_cap_gills", param2 = 1 }
local n4 = { name = "df_trees:goblin_cap_stem" }
return {
yslice_prob = {},
size = {y = 8, x = 9, z = 9},
center_pos = {x = 4, y = 2, z = 4},
data = {
-- z=-8, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=-2
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-8, y=-1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-8, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-7, y=-2
n1, n2, n2, n3, n3, n3, n2, n2, n1,
-- z=-7, y=-1
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-7, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-6, y=-7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-6, y=-6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-6, y=-5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-6, y=-4
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-6, y=-3
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-6, y=-2
n1, n2, n3, n4, n4, n4, n3, n2, n1,
-- z=-6, y=-1
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-6, y=0
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=-5, y=-7
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-5, y=-6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-5, y=-5
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-5, y=-4
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-5, y=-3
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-5, y=-2
n2, n3, n4, n4, n4, n4, n4, n3, n2,
-- z=-5, y=-1
n1, n2, n2, n4, n4, n4, n2, n2, n1,
-- z=-5, y=0
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-4, y=-7
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-5
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-4
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-3
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-4, y=-2
n2, n3, n4, n4, n4, n4, n4, n3, n2,
-- z=-4, y=-1
n1, n2, n2, n4, n4, n4, n2, n2, n1,
-- z=-4, y=0
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-3, y=-7
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-3, y=-6
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-3, y=-5
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-3, y=-4
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-3, y=-3
n1, n1, n4, n4, n4, n4, n4, n1, n1,
-- z=-3, y=-2
n2, n3, n4, n4, n4, n4, n4, n3, n2,
-- z=-3, y=-1
n1, n2, n2, n4, n4, n4, n2, n2, n1,
-- z=-3, y=0
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-2, y=-7
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-2, y=-6
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-2, y=-5
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-2, y=-4
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-2, y=-3
n1, n1, n1, n4, n4, n4, n1, n1, n1,
-- z=-2, y=-2
n1, n2, n3, n4, n4, n4, n3, n2, n1,
-- z=-2, y=-1
n1, n1, n2, n2, n2, n2, n2, n1, n1,
-- z=-2, y=0
n1, n1, n1, n1, n2, n1, n1, n1, n1,
-- z=-1, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=-1, y=-2
n1, n2, n2, n3, n3, n3, n2, n2, n1,
-- z=-1, y=-1
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=-1, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-7
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-6
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-5
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-4
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-3
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=-2
n1, n1, n1, n2, n2, n2, n1, n1, n1,
-- z=0, y=-1
n1, n1, n1, n1, n1, n1, n1, n1, n1,
-- z=0, y=0
n1, n1, n1, n1, n1, n1, n1, n1, n1,
}
}