Regnum/mods/tutorial/init.lua

7504 lines
375 KiB
Lua

minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
player:hud_add({
hud_elem_type = "text",
position = {x=0, y=0.85},
offset = {x=0, y=10},
alignment = {x=1, y=0},
number = 0xFFFFFF ,
text = "For Minetest : 5.1.x",
})
player:hud_add({
hud_elem_type = "text",
position = {x=0, y=0.85},
offset = {x=0, y=30},
alignment = {x=1, y=0},
number = 0xFFFFFF ,
text = "Game Version : 3.4.0",
})
end)
dofile(minetest.get_modpath("tutorial").."/craft.lua")
dofile(minetest.get_modpath("tutorial").."/node.lua")
dofile(minetest.get_modpath("tutorial").."/tool.lua")
dofile(minetest.get_modpath("tutorial").."/craftitem.lua")
dofile(minetest.get_modpath("tutorial").."/ore.lua")
dofile(minetest.get_modpath("tutorial").."/abm.lua")
dofile(minetest.get_modpath("tutorial").."/entity.lua")
dofile(minetest.get_modpath("tutorial").."/chatcommand.lua")
dofile(minetest.get_modpath("tutorial").."/other.lua")
dofile(minetest.get_modpath("tutorial").."/alias.lua")
--v.2.0.0+
minetest.register_craft({
output = "tutorial:spawn_egg",
recipe = {
{'default:obsidian', 'default:obsidian', 'default:obsidian'},
{'default:obsidian', 'default:ice', 'default:obsidian'},
{'default:obsidian', 'default:obsidian', 'default:obsidian'},
}
})
minetest.register_craftitem("tutorial:spawn_egg", {
description = "Mummy spawn-egg",
inventory_image = "tutorial_mummy_egg.png",
liquids_pointable = false,
stack_max = 99,
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type == "node" then
minetest.env:add_entity(pointed_thing.above,"mobs:mummy")
if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end
return itemstack
end
end,
})
local rg25 = {}
rg25.get_formspec = function(player, pos)
if player == nil then
return
end
formspec = "size[9,10.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,10.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0,1;I. 17. Music]"
.."label[0,1.3;Enable Background Music.]"
.."label[0,1.6;Choose one Theme or two to be randomly selected]"
.."label[0,1.9;and listen to the Regnum Themes.]"
.."label[0,2.2;How to use Music:]"
.."label[0,2.5;1. Enable Background Music.]"
.."label[0,2.8;2. Choose Themes]"
.."button[2,10; 2,0.5;rg24;<]"
.."button[4,10; 2,0.5;rg15;>]"
return formspec
end
minetest.register_craft({
output = 'tutorial:colorstick_empty',
recipe = {
{'tutorial:colorstick_broken', 'tutorial:hammer'},
}
})
minetest.register_craftitem("tutorial:colorstick_empty", {
description = "Colorstick (empty)",
inventory_image = "tutorial_colorstick_empty.png",
})
minetest.register_craftitem("tutorial:hammer", {
description = "Repairing tool for color stick",
inventory_image = "tutorial_hammer.png",
})
minetest.register_craftitem("tutorial:colorstick_broken", {
description = "Colorstick (broken)",
inventory_image = "tutorial_colorstick_broken.png",
})
minetest.register_alias("homedecor:trophy_year1", "tutorial:trophy_year1")
minetest.register_node("tutorial:trophy_year1", {
description = "One year Regnum!!",
tiles = {
"moreores_mithril_block.png"
},
groups = { snappy=3 },
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.125, -0.5, -0.125, 0.1875, -0.4375, 0.1875}, -- NodeBox1
{-0.0625, -0.4375, -0.0625, 0.125, -0.375, 0.125}, -- NodeBox2
{-0.02, -0.375, -0.02, 0.0825, -0.1875, 0.0825}, -- NodeBox3
{-0.0625, -0.1875, -0.0625, 0.125, -0.125, 0.125}, -- NodeBox4
{-0.125, -0.1875, -0.0625, -0.0625, 0.125, 0.125}, -- NodeBox5
{0.125, -0.1875, -0.0625, 0.1875, 0.125, 0.125}, -- NodeBox6
{-0.125, -0.1875, 0.125, 0.1875, 0.125, 0.1875}, -- NodeBox7
{-0.125, -0.1875, -0.125, 0.1875, 0.125, -0.0625}, -- NodeBox8
{-0.0625, -0.25, -0.0625, 0.125, -0.1875, 0.125}, -- NodeBox9
{0.1875, 0.05, 0, 0.23, 0.0925, 0.0625}, -- NodeBox10
{0.1875, -0.15, 0, 0.23, -0.11, 0.0625}, -- NodeBox11
{0.23, -0.15, 0, 0.2725, 0.0925, 0.0625}, -- NodeBox12
{-0.1675, -0.15, 0, -0.125, -0.11, 0.0625}, -- NodeBox13
{-0.1675, 0.05, 0, -0.125, 0.0925, 0.0625}, -- NodeBox14
{-0.21, -0.15, 0, -0.1675, 0.0925, 0.0625}, -- NodeBox15
}
},
selection_box = {
type = "fixed",
fixed = { -0.21, -0.5, -0.125, 0.2725, 0.125, 0.1875 }
}
})
minetest.register_node("tutorial:trophy_year2", {
description = "Two years Regnum!!",
tiles = {
"moreores_mithril_block.png"
},
groups = { snappy=3 },
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.125, -0.5, -0.125, 0.1875, -0.4375, 0.1875}, -- NodeBox1
{-0.0625, -0.4375, -0.0625, 0.125, -0.375, 0.125}, -- NodeBox2
{-0.02, -0.375, -0.02, 0.0825, -0.1875, 0.0825}, -- NodeBox3
{-0.0625, -0.1875, -0.0625, 0.125, -0.125, 0.125}, -- NodeBox4
{-0.125, -0.1875, -0.0625, -0.0625, 0.125, 0.125}, -- NodeBox5
{0.125, -0.1875, -0.0625, 0.1875, 0.125, 0.125}, -- NodeBox6
{-0.125, -0.1875, 0.125, 0.1875, 0.125, 0.1875}, -- NodeBox7
{-0.125, -0.1875, -0.125, 0.1875, 0.125, -0.0625}, -- NodeBox8
{-0.0625, -0.25, -0.0625, 0.125, -0.1875, 0.125}, -- NodeBox9
{0.1875, 0.05, 0, 0.23, 0.0925, 0.0625}, -- NodeBox10
{0.1875, -0.15, 0, 0.23, -0.11, 0.0625}, -- NodeBox11
{0.23, -0.15, 0, 0.2725, 0.0925, 0.0625}, -- NodeBox12
{-0.1675, -0.15, 0, -0.125, -0.11, 0.0625}, -- NodeBox13
{-0.1675, 0.05, 0, -0.125, 0.0925, 0.0625}, -- NodeBox14
{-0.21, -0.15, 0, -0.1675, 0.0925, 0.0625}, -- NodeBox15
}
},
selection_box = {
type = "fixed",
fixed = { -0.21, -0.5, -0.125, 0.2725, 0.125, 0.1875 }
}
})
minetest.register_node("tutorial:trophy_year3", {
description = "Three years Regnum!!",
tiles = {
"moreores_mithril_block.png"
},
groups = { snappy=3 },
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.125, -0.5, -0.125, 0.1875, -0.4375, 0.1875}, -- NodeBox1
{-0.0625, -0.4375, -0.0625, 0.125, -0.375, 0.125}, -- NodeBox2
{-0.02, -0.375, -0.02, 0.0825, -0.1875, 0.0825}, -- NodeBox3
{-0.0625, -0.1875, -0.0625, 0.125, -0.125, 0.125}, -- NodeBox4
{-0.125, -0.1875, -0.0625, -0.0625, 0.125, 0.125}, -- NodeBox5
{0.125, -0.1875, -0.0625, 0.1875, 0.125, 0.125}, -- NodeBox6
{-0.125, -0.1875, 0.125, 0.1875, 0.125, 0.1875}, -- NodeBox7
{-0.125, -0.1875, -0.125, 0.1875, 0.125, -0.0625}, -- NodeBox8
{-0.0625, -0.25, -0.0625, 0.125, -0.1875, 0.125}, -- NodeBox9
{0.1875, 0.05, 0, 0.23, 0.0925, 0.0625}, -- NodeBox10
{0.1875, -0.15, 0, 0.23, -0.11, 0.0625}, -- NodeBox11
{0.23, -0.15, 0, 0.2725, 0.0925, 0.0625}, -- NodeBox12
{-0.1675, -0.15, 0, -0.125, -0.11, 0.0625}, -- NodeBox13
{-0.1675, 0.05, 0, -0.125, 0.0925, 0.0625}, -- NodeBox14
{-0.21, -0.15, 0, -0.1675, 0.0925, 0.0625}, -- NodeBox15
}
},
selection_box = {
type = "fixed",
fixed = { -0.21, -0.5, -0.125, 0.2725, 0.125, 0.1875 }
}
})
minetest.register_craft({
output = 'tutorial:legendstick9',
recipe = {
{'tutorial:legendball_8_8_8', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_8_8_8'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick8', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_8_8_8', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_8_8_8'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick8',
recipe = {
{'tutorial:legendball_7_7_7', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_7_7_7'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick7', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_7_7_7', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_7_7_7'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick7',
recipe = {
{'tutorial:legendball_6_6_6', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_6_6_6'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick6', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_6_6_6', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_6_6_6'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick6',
recipe = {
{'tutorial:legendball_6_6_6', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_6_6_6'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick5', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_6_6_6', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_6_6_6'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick5',
recipe = {
{'tutorial:legendball_5_5_5', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_5_5_5'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick4', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_5_5_5', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_5_5_5'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick4',
recipe = {
{'tutorial:legendball_4_4_4', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_4_4_4'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick3', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_4_4_4', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_4_4_4'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick3',
recipe = {
{'tutorial:legendball_3_3_3', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_3_3_3'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick2', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_3_3_3', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_3_3_3'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick2',
recipe = {
{'tutorial:legendball_2_2_2', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_2_2_2'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick1', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_2_2_2', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_2_2_2'},
}
})
minetest.register_craft({
output = 'tutorial:legendstick1',
recipe = {
{'tutorial:legendball_1_1_1', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_1_1_1'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendstick', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
{'tutorial:legendball_1_1_1', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder', 'tutorial:legendball_1_1_1'},
}
})
minetest.register_entity("tutorial:legendballadmin", {
visual = "mesh",
visual_size = {x=5, y=5},
mesh = "tutorial_fireball.x",
textures = {"tutorial_adminball.png"},
velocity = 5,
light_source = 12,
on_step = function(self, dtime)
local pos = self.object:getpos()
if minetest.env:get_node(self.object:getpos()).name ~= "air" then
self.hit_node(self, pos, node)
self.object:remove()
return
end
pos.y = pos.y-1
for _,player in pairs(minetest.env:get_objects_inside_radius(pos, 1)) do
if player:is_player() then
self.hit_player(self, player)
self.object:remove()
return
end
end
end,
hit_player = function(self, player)
local hp = player:get_hp()
player:set_hp(0)
local s = player:getpos()
local p = player:get_look_dir()
local vec = {x=s.x-p.x, y=s.y-p.y, z=s.z-p.z}
local pos = player:getpos()
for dx=0,1 do
for dy=0,1 do
for dz=0,1 do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
if (n == "air") then
minetest.env:add_node(p, {name="tutorial:legend_thunderadmin"})
end
end
end
end
end,
hit_node = function(self, pos, node)
for dx=-1,1 do
for dy=-2,1 do
for dz=-1,1 do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
if (n == "air") then
minetest.env:add_node(p, {name="tutorial:legend_thunderadmin"})
end
end
end
end
end
})
minetest.register_tool("tutorial:legendball_admin", {
description = "Admin Legend Ball",
inventory_image = "tutorial_legendball.png",
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_admin")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_node("tutorial:legend_thunderadmin", {
description = "Admin Legend thunder",
drawtype = "plantlike",
tiles = {{
name="tutorial_legend_thunderadmin.png",
}},
light_source = 12,
walkable = false,
buildable_to = true,
damage_per_second = 100,
drop = {},
groups = {dig_immediate=3},
})
minetest.register_abm({
nodenames = {"tutorial:legend_thunderadmin"},
interval = 30,
chance = 1,
action = function(pos)
minetest.env:remove_node(pos)
end,
})
minetest.register_tool("tutorial:legendstick_admin", {
description = "Admin tool 10: Legendstick",
inventory_image = "tutorial_legendzauberstabadmin.png",
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendballadmin")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick9", {
description = "Legendstick lv.MAX",
inventory_image = "tutorial_legendzauberstab9.png",
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_8_8_8")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick8", {
description = "Legendstick lv.8",
inventory_image = "tutorial_legendzauberstab8.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_7_7_7")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick7", {
description = "Legendstick lv.7",
inventory_image = "tutorial_legendzauberstab7.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_6_6_6")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick6", {
description = "Legendstick lv.6",
inventory_image = "tutorial_legendzauberstab6.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_5_5_6")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick5", {
description = "Legendstick lv.5",
inventory_image = "tutorial_legendzauberstab5.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_4_4_5")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick4", {
description = "Legendstick lv.4",
inventory_image = "tutorial_legendzauberstab4.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_3_4_4")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick3", {
description = "Legendstick lv.3",
inventory_image = "tutorial_legendzauberstab3.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_2_3_3")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick2", {
description = "Legendstick lv.2",
inventory_image = "tutorial_legendzauberstab2.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_2_2_2")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick1", {
description = "Legendstick lv.1",
inventory_image = "tutorial_legendzauberstab1.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local inv = placer:get_inventory()
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_1_1_1")
local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3}
obj:setvelocity(vec)
return itemstack
end,
light_source = 12,
})
minetest.register_tool("tutorial:legendstick", {
description = "Legendstick",
inventory_image = "tutorial_legendzauberstab.png",
on_use = function(itemstack, placer, pointed_thing)
end,
light_source = 12,
})
minetest.register_craftitem("tutorial:protection_schluessel1", {
description = "Protectionkey lv.1",
inventory_image = "tutorial_protection_schluessel1.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("tutorial:protection_schluessel2", {
description = "Protectionkey lv.2",
inventory_image = "tutorial_protection_schluessel2.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("tutorial:protection_schluessel3", {
description = "Protectionkey lv.MAX",
inventory_image = "tutorial_protection_schluessel3.png",
})
minetest.register_craft({
output = 'tutorial:protection_schluessel2',
recipe = {
{'tutorial:lila_erz3', 'tutorial:lila_erz3', 'tutorial:lila_erz3'},
{'tutorial:lila_erz3', 'tutorial:protection_schluessel1', 'tutorial:lila_erz3'},
{'tutorial:lila_erz3', 'tutorial:lila_erz3', 'tutorial:lila_erz3'},
}
})
minetest.register_craft({
output = 'tutorial:protection_schluessel3',
recipe = {
{'tutorial:lila_erz3', 'tutorial:lila_erz3', 'tutorial:lila_erz3'},
{'tutorial:lila_erz3', 'tutorial:protection_schluessel2', 'tutorial:lila_erz3'},
{'tutorial:lila_erz3', 'tutorial:lila_erz3', 'tutorial:lila_erz3'},
}
})
local rg23 = {}
rg23.get_formspec = function(player, pos)
if player == nil then
return
end
formspec = "size[9,10.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,10.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0,1;I. 15. Treasures]"
.."label[0,1.3;get treasures from the fox]"
.."label[0,1.6;Collect 6 treasures to get the legend stick]"
.."label[0,1.9;How to use artifacts:]"
.."label[0,2.2;1. get 6 treasures]"
.."label[0,2.5;2. press 'reward']"
.."button[2,10; 2,0.5;rg22;<]"
.."button[4,10; 2,0.5;rg24;>]"
return formspec
end
local rg24 = {}
rg24.get_formspec = function(player, pos)
if player == nil then
return
end
formspec = "size[9,10.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,10.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0,1;I. 16. Trophys]"
.."label[0,1.3;get trophys in the trophy craft]"
.."label[0,1.6;Collect 24 trothys to get the Protectionkey]"
.."label[0,1.9;How to use trophys:]"
.."label[0,2.2;1. get 24 trophys]"
.."label[0,2.5;2. press 'reward']"
.."button[2,10; 2,0.5;rg23;<]"
.."button[4,10; 2,0.5;rg25;>]"
return formspec
end
local troph = {}
troph.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("trophcr", 1)
formspec = "size[8,7.5]"
.."button[0,0;2,0.5;cr;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[8,7.5;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."button[3,2.6;2,0.5;trophcra;Use]"
.."list[current_player;main;0,3.75;8,4;]"
.."list[current_player;trophcr;3.5,1;1,1;]"
.."listring[current_player;main]"
.."listring[current_player;trophcr]"
.."label[3.65,2;Tears]"
return formspec
end
local trophys = {}
trophys.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
local red = player_inv:get_stack("tearred", 1):get_count()
local blue = player_inv:get_stack("tearblue", 1):get_count()
local yellow = player_inv:get_stack("tearyellow", 1):get_count()
local purple = player_inv:get_stack("tearpurple", 1):get_count()
local cyan = player_inv:get_stack("tearcyan", 1):get_count()
local green = player_inv:get_stack("teargreen", 1):get_count()
player_inv:set_size("trtr", 1)
formspec = "size[6.5,9.8]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[6.5,9.8;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
local d = 0
if red > 9 then
formspec = formspec .."image[1,1;1,1;trophy_red_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,1;1,1;tutorial_0.png]"
end
if red > 19 then
formspec = formspec .."image[2.5,1;1,1;trophy_red_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,1;1,1;tutorial_0.png]"
end
if red > 49 then
formspec = formspec .."image[4,1;1,1;trophy_red_gold.png]"
d = d+1
else
formspec = formspec .."image[4,1;1,1;tutorial_0.png]"
end
if red > 99 then
formspec = formspec .."image[5.5,1;1,1;trophy_red_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,1;1,1;tutorial_0.png]"
end
if blue > 9 then
formspec = formspec .."image[1,2.5;1,1;trophy_blue_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,2.5;1,1;tutorial_0.png]"
end
if blue > 19 then
formspec = formspec .."image[2.5,2.5;1,1;trophy_blue_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,2.5;1,1;tutorial_0.png]"
end
if blue > 49 then
formspec = formspec .."image[4,2.5;1,1;trophy_blue_gold.png]"
d = d+1
else
formspec = formspec .."image[4,2.5;1,1;tutorial_0.png]"
end
if blue > 99 then
formspec = formspec .."image[5.5,2.5;1,1;trophy_blue_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,2.5;1,1;tutorial_0.png]"
end
if green > 9 then
formspec = formspec .."image[1,4;1,1;trophy_green_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,4;1,1;tutorial_0.png]"
end
if green > 19 then
formspec = formspec .."image[2.5,4;1,1;trophy_green_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,4;1,1;tutorial_0.png]"
end
if green > 49 then
formspec = formspec .."image[4,4;1,1;trophy_green_gold.png]"
d = d+1
else
formspec = formspec .."image[4,4;1,1;tutorial_0.png]"
end
if green > 99 then
formspec = formspec .."image[5.5,4;1,1;trophy_green_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,4;1,1;tutorial_0.png]"
end
if yellow > 9 then
formspec = formspec .."image[1,5.5;1,1;trophy_yellow_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,5.5;1,1;tutorial_0.png]"
end
if yellow > 19 then
formspec = formspec .."image[2.5,5.5;1,1;trophy_yellow_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,5.5;1,1;tutorial_0.png]"
end
if yellow > 49 then
formspec = formspec .."image[4,5.5;1,1;trophy_yellow_gold.png]"
d = d+1
else
formspec = formspec .."image[4,5.5;1,1;tutorial_0.png]"
end
if yellow > 99 then
formspec = formspec .."image[5.5,5.5;1,1;trophy_yellow_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,5.5;1,1;tutorial_0.png]"
end
if purple > 9 then
formspec = formspec .."image[1,7;1,1;trophy_purple_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,7;1,1;tutorial_0.png]"
end
if purple > 19 then
formspec = formspec .."image[2.5,7;1,1;trophy_purple_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,7;1,1;tutorial_0.png]"
end
if purple > 49 then
formspec = formspec .."image[4,7;1,1;trophy_purple_gold.png]"
d = d+1
else
formspec = formspec .."image[4,7;1,1;tutorial_0.png]"
end
if purple > 99 then
formspec = formspec .."image[5.5,7;1,1;trophy_purple_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,7;1,1;tutorial_0.png]"
end
if cyan > 9 then
formspec = formspec .."image[1,8.5;1,1;trophy_cyan_bronze.png]"
d = d+1
else
formspec = formspec .."image[1,8.5;1,1;tutorial_0.png]"
end
if cyan > 19 then
formspec = formspec .."image[2.5,8.5;1,1;trophy_cyan_silver.png]"
d = d+1
else
formspec = formspec .."image[2.5,8.5;1,1;tutorial_0.png]"
end
if cyan > 49 then
formspec = formspec .."image[4,8.5;1,1;trophy_cyan_gold.png]"
d = d+1
else
formspec = formspec .."image[4,8.5;1,1;tutorial_0.png]"
end
if cyan > 99 then
formspec = formspec .."image[5.5,8.5;1,1;trophy_cyan_platin.png]"
d = d+1
else
formspec = formspec .."image[5.5,8.5;1,1;tutorial_0.png]"
end
if d == 24 then
formspec = formspec .."button[4.5,0;2,0.5;trorew;Reward]"
end
formspec = formspec
.."label[1.2,2;"..red.."/10]"
.."label[2.7,2;"..red.."/20]"
.."label[4.2,2;"..red.."/50]"
.."label[5.7,2;"..red.."/100]"
.."label[1.2,3.5;"..blue.."/10]"
.."label[2.7,3.5;"..blue.."/20]"
.."label[4.2,3.5;"..blue.."/50]"
.."label[5.7,3.5;"..blue.."/100]"
.."label[1.2,5;"..green.."/10]"
.."label[2.7,5;"..green.."/20]"
.."label[4.2,5;"..green.."/50]"
.."label[5.7,5;"..green.."/100]"
.."label[1.2,6.5;"..yellow.."/10]"
.."label[2.7,6.5;"..yellow.."/20]"
.."label[4.2,6.5;"..yellow.."/50]"
.."label[5.7,6.5;"..yellow.."/100]"
.."label[1.2,8;"..purple.."/10]"
.."label[2.7,8;"..purple.."/20]"
.."label[4.2,8;"..purple.."/50]"
.."label[5.7,8;"..purple.."/100]"
.."label[1.2,9.5;"..cyan.."/10]"
.."label[2.7,9.5;"..cyan.."/20]"
.."label[4.2,9.5;"..cyan.."/50]"
.."label[5.7,9.5;"..cyan.."/100]"
.."label[0,1.25;Red]"
.."label[0,2.75;Blue]"
.."label[0,4.25;Green]"
.."label[0,5.75;Yellow]"
.."label[0,7.25;Purple]"
.."label[0,8.75;Cyan]"
.."label[4,0;"..d.."/24]"
player_inv:set_stack("trtr", 1 , "default:dirt "..d)
return formspec
end
minetest.register_craftitem("tutorial:big_dna_string", {
description = "Big DNA string",
inventory_image = "tutorial_big_dna_string.png",
})
minetest.register_craftitem("tutorial:red_tear", {
description = "Red Tear",
inventory_image = "tutorial_red_tear.png",
})
minetest.register_craftitem("tutorial:blue_tear", {
description = "Blue Tear",
inventory_image = "tutorial_blue_tear.png",
})
minetest.register_craftitem("tutorial:cyan_tear", {
description = "Cyan Tear",
inventory_image = "tutorial_cyan_tear.png",
})
minetest.register_craftitem("tutorial:purple_tear", {
description = "Purple Tear",
inventory_image = "tutorial_purple_tear.png",
})
minetest.register_craftitem("tutorial:green_tear", {
description = "Green Tear",
inventory_image = "tutorial_green_tear.png",
})
minetest.register_craftitem("tutorial:yellow_tear", {
description = "Yellow Tear",
inventory_image = "tutorial_yellow_tear.png",
})
minetest.register_craft({
output = 'tutorial:big_dna_string',
recipe = {
{'tutorial:dna_string', 'tutorial:dna_string', 'tutorial:dna_string', 'tutorial:dna_string', 'tutorial:dna_string'},
}
})
minetest.register_craft({
output = 'tutorial:lightstone',
recipe = {
{'', 'default:cobble', ''},
{'default:cobble', 'default:coal_lump', 'default:cobble'},
{'', 'default:cobble', ''},
}
})
minetest.register_craft({
output = 'tutorial:cooking_schluessel1',
recipe = {
{'', '', 'tutorial:coin_cyan', '', ''},
{'', 'tutorial:coin_cyan', '', 'tutorial:coin_cyan', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
}
})
minetest.register_craft({
output = 'tutorial:cooking_schluessel1',
recipe = {
{'', '', 'tutorial:coin_cyan', '', ''},
{'', 'tutorial:coin_cyan', '', 'tutorial:coin_cyan', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
{'', '', 'tutorial:coin_cyan', '', ''},
}
})
minetest.register_craft({
output = 'tutorial:cooking_schluessel2',
recipe = {
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:cooking_schluessel1', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
}
})
minetest.register_craft({
output = 'tutorial:cooking_schluessel3',
recipe = {
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:cooking_schluessel2', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
}
})
minetest.register_craft({
output = 'tutorial:cooking_schluessel4',
recipe = {
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:cooking_schluessel3', 'tutorial:coin_cyan'},
{'tutorial:coin_cyan', 'tutorial:coin_cyan', 'tutorial:coin_cyan'},
}
})
local treasures = {}
treasures.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("tata", 1)
local a = player_inv:get_stack("r1248", 1):get_count()
local b = player_inv:get_stack("r1248", 2):get_count()
local c = player_inv:get_stack("r1248", 3):get_count()
local e = player_inv:get_stack("r1248", 4):get_count()
local f = player_inv:get_stack("r1248", 5):get_count()
local g = player_inv:get_stack("r1248", 6):get_count()
local d = 0
formspec = "size[9,9.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,9.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
if a == 1 then
formspec = formspec .."image[0,2;1.5,1.5;tutorial_1248_helmet_rot.png]"
d = d+1
else
formspec = formspec .."image[0,2;1.5,1.5;tutorial_0.png]"
end
if b == 1 then
formspec = formspec .."image[1.5,2;1.5,1.5;tutorial_1248_helmet_blue.png]"
d = d+1
else
formspec = formspec .."image[1.5,2;1.5,1.5;tutorial_0.png]"
end
if c == 1 then
formspec = formspec .."image[3,2;1.5,1.5;tutorial_1248_helmet_cyan.png]"
d = d+1
else
formspec = formspec .."image[3,2;1.5,1.5;tutorial_0.png]"
end
if e == 1 then
formspec = formspec .."image[4.5,2;1.5,1.5;tutorial_1248_helmet_green.png]"
d = d+1
else
formspec = formspec .."image[4.5,2;1.5,1.5;tutorial_0.png]"
end
if f == 1 then
formspec = formspec .."image[6,2;1.5,1.5;tutorial_1248_helmet_yellow.png]"
d = d+1
else
formspec = formspec .."image[6,2;1.5,1.5;tutorial_0.png]"
end
if g == 1 then
formspec = formspec .."image[7.5,2;1.5,1.5;tutorial_1248_helmet_purple.png]"
d = d+1
else
formspec = formspec .."image[7.5,2;1.5,1.5;tutorial_0.png]"
end
formspec = formspec .."label[5,0;"..d.."/6]"
if d == 6 then
formspec = formspec .."button[6.5,0;2,0.5;trerew;Reward]"
end
player_inv:set_stack("tata", 1 , "default:dirt "..d)
return formspec
end
minetest.register_craftitem("tutorial:coin_cyan", {
description = "Coin cyan (very rare)",
inventory_image = "tutorial_coin_cyan.png",
stack_max = 9999,
})
minetest.register_node("tutorial:bottle_crystal", {
description = "Crystalbottle",
drawtype = "plantlike",
tiles = {"tutorial_bottle_crystal.png"},
wield_image = "tutorial_bottle_crystal.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25}
},
on_place = function(itemstack, placer, pointed_thing)
minetest.env:add_entity(pointed_thing.above, "experience:orb_cyan")
if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end
return itemstack
end,
groups = {vessel=1,dig_immediate=3,attached_node=1},
})
for i = 1, 25, 1 do
minetest.register_node("tutorial:level"..i.."_cyan",{
tiles = {"tutorial_level"..i..".png^tutorial_level_cyan.png"},
description = "You are now in Level cyan "..i,
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})
end
minetest.register_node("tutorial:levelMAX_cyan",{
tiles = {"tutorial_levelMAX.png^tutorial_level_cyan.png"},
description = "You are now in Level cyan MAX",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
})
minetest.register_on_joinplayer(function(player)
local override_table = player:get_physics_override()
override_table.new_move = false
override_table.sneak_glitch = true
player:set_physics_override(override_table)
local player_inv = player:get_inventory()
player_inv:set_stack("crtime", 1, nil)
--player_inv:set_size("year", 3)
--if player_inv:room_for_item("main", "tutorial:trophy_year3") and player_inv:get_stack("year", 3):get_count() == 0 then
-- player_inv:add_item("main", "tutorial:trophy_year3")
-- player_inv:set_stack("year", 3, "default:dirt")
--end
end)
minetest.register_craftitem("tutorial:cooking_schluessel1", {
description = "Cookingkey lv.1",
inventory_image = "tutorial_cooking_schluessel1.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("tutorial:cooking_schluessel2", {
description = "Cookingkey lv.2",
inventory_image = "tutorial_cooking_schluessel2.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("tutorial:cooking_schluessel3", {
description = "Cookingkey lv.3",
inventory_image = "tutorial_cooking_schluessel3.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("tutorial:cooking_schluessel4", {
description = "Cookingkey lv.MAX",
inventory_image = "tutorial_cooking_schluessel4.png",
})
minetest.register_craftitem("tutorial:golden_schluessel", {
description = "Goldenkey",
inventory_image = "tutorial_golden_schluessel.png",
})
minetest.register_craftitem("tutorial:crystal_schluessel", {
description = "Crystalkey",
inventory_image = "tutorial_crystal_schluessel.png",
})
minetest.register_craftitem("tutorial:medallion", {
description = "Medallion",
inventory_image = "tutorial_medallion.png",
stack_max = 1000,
})
minetest.register_craftitem("tutorial:knight_schluessel", {
description = "Knightkey",
inventory_image = "tutorial_knight_schluessel.png",
})
local crafting7 = {}
crafting7.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
formspec = "size[8,8.3]"
.."button[0,0;2,0.5;cr;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[8,8.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."button[1,2;2,0.5;meda1;Red]"
.."button[3,2;2,0.5;meda2;Blue]"
.."button[5,2;2,0.5;meda3;Green]"
.."button[1,3;2,0.5;meda5;Purple]"
.."button[3,3;2,0.5;meda4;Yellow]"
.."button[5,3;2,0.5;meda6;Cyan]"
.."button[3,4;2,0.5;meda7;Gray]"
return formspec
end
local crafting8 = {}
crafting8.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
local kri_inv = minetest.create_detached_inventory(player:get_player_name().."_kri",{
allow_put = function(inv, listname, index, stack, player)
return 0
end,
allow_take = function(inv, listname, index, stack, player)
return 0
end,
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
return 0
end,
})
kri_inv:set_size("kri", 8)
player_inv:set_size("kri", 8)
player_inv:set_size("pixkey", 1)
player_inv:set_size("crtime", 1)
local time = player_inv:get_stack("crtime", 1):get_count()
local k = 0
for i=1, 8 do
local stack = player_inv:get_stack("kri", i)
kri_inv:set_stack("kri", i, stack)
if not player_inv:get_stack("kri", i):is_empty() then
k = k+1
end
end
formspec = "size[8,7.5]"
.."button[0,0;2,0.5;cr;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[8,7.5;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."list[current_player;main;0,3.75;8,4;]"
.."list[current_player;pixkey;6.6,1;1,1;]"
.."listring[current_player;main]"
.."listring[current_player;pixkey]"
.."label[5,0;You have "..k.."/8 crystals]"
.."label[6.3,2;Pixeled Regnum Key]"
if time == 0 then
formspec = formspec .."button[1,2;2,0.5;cre2;crystalbottle]"
end
return formspec
end
local meda = {}
meda.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medall", 1)
local med = player_inv:get_stack("medallion", 1):get_count()
local x = ""
if med == 1 then
x = "red"
elseif med == 2 then
x = "blue"
elseif med == 3 then
x = "green"
elseif med == 4 then
x = "yellow"
elseif med == 5 then
x = "purple"
elseif med == 6 then
x = "cyan"
elseif med == 7 then
x = "gray"
end
player_inv:set_size("medallion"..x, 9)
local y1 = player_inv:get_stack("medallion"..x, 1):get_count()
local y2 = player_inv:get_stack("medallion"..x, 2):get_count()
local y3 = player_inv:get_stack("medallion"..x, 3):get_count()
local y4 = player_inv:get_stack("medallion"..x, 4):get_count()
local y5 = player_inv:get_stack("medallion"..x, 5):get_count()
local y6 = player_inv:get_stack("medallion"..x, 6):get_count()
local y7 = player_inv:get_stack("medallion"..x, 7):get_count()
local y8 = player_inv:get_stack("medallion"..x, 8):get_count()
local y9 = player_inv:get_stack("medallion"..x, 9):get_count()
formspec = "size[8,9.3]"
.."button[0,0;2,0.5;crafting7;Back]"
.."button[2,0;2,0.5;main;Main]"
.."button[5,3;2,0.5;mecraft;Craft]"
.."background[8,9.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."list[current_player;main;0,5.25;8,1;]"
.."list[current_player;main;0,6.5;8,3;8]"
.."list[current_player;medall;5.5,2;1,1;]"
.."listring[current_player;main]"
.."listring[current_player;medall]"
if y1 == 0 then
formspec = formspec .."image[1,1;1,1;tutorial_0.png]"
else
formspec = formspec .."image[1,1;1,1;medallion_"..x.."_1.png]"
end
if y2 == 0 then
formspec = formspec .."image[2,1;1,1;tutorial_0.png]"
else
formspec = formspec .."image[2,1;1,1;medallion_"..x.."_2.png]"
end
if y3 == 0 then
formspec = formspec .."image[3,1;1,1;tutorial_0.png]"
else
formspec = formspec .."image[3,1;1,1;medallion_"..x.."_3.png]"
end
if y4 == 0 then
formspec = formspec .."image[1,2;1,1;tutorial_0.png]"
else
formspec = formspec .."image[1,2;1,1;medallion_"..x.."_4.png]"
end
if y5 == 0 then
formspec = formspec .."image[2,2;1,1;tutorial_0.png]"
else
formspec = formspec .."image[2,2;1,1;medallion_"..x.."_5.png]"
end
if y6 == 0 then
formspec = formspec .."image[3,2;1,1;tutorial_0.png]"
else
formspec = formspec .."image[3,2;1,1;medallion_"..x.."_6.png]"
end
if y7 == 0 then
formspec = formspec .."image[1,3;1,1;tutorial_0.png]"
else
formspec = formspec .."image[1,3;1,1;medallion_"..x.."_7.png]"
end
if y8 == 0 then
formspec = formspec .."image[2,3;1,1;tutorial_0.png]"
else
formspec = formspec .."image[2,3;1,1;medallion_"..x.."_8.png]"
end
if y9 == 0 then
formspec = formspec .."image[3,3;1,1;tutorial_0.png]"
else
formspec = formspec .."image[3,3;1,1;medallion_"..x.."_9.png]"
end
return formspec
end
minetest.register_craftitem("tutorial:tortoise_schluessel", {
description = "Tortoisekey",
inventory_image = "tutorial_tortoise_schluessel.png",
})
local medallion = {}
medallion.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallionred", 9)
player_inv:set_size("meme", 1)
local k = 0
local p = 0
formspec = "size[8.5,6.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[8.5,6.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0.4,2.2;red]"
.."label[1.6,2.2;blue]"
.."label[2.7,2.2;green]"
.."label[3.9,2.2;purple]"
.."label[5.0,2.2;yellow]"
.."label[6.3,2.2;cyan]"
.."label[7.5,2.2;gray]"
for i=1,9,1 do
if player_inv:get_stack("medallionred", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[0,1;1.2,1.2;medallion_red.png]"
else
formspec = formspec .."image[0,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medallionblue", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[1.2,1;1.2,1.2;medallion_blue.png]"
else
formspec = formspec .."image[1.2,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medalliongreen", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[2.4,1;1.2,1.2;medallion_green.png]"
else
formspec = formspec .."image[2.4,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medallionpurple", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[3.6,1;1.2,1.2;medallion_purple.png]"
else
formspec = formspec .."image[3.6,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medallionyellow", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[4.8,1;1.2,1.2;medallion_yellow.png]"
else
formspec = formspec .."image[4.8,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medallioncyan", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[6,1;1.2,1.2;medallion_cyan.png]"
else
formspec = formspec .."image[6,1;1.2,1.2;tutorial_0.png]"
end
k = 0
for i=1,9,1 do
if player_inv:get_stack("medalliongray", i):get_count() == 0 then
k = 1
end
end
if k == 0 then
p = p+1
formspec = formspec .."image[7.2,1;1.2,1.2;medallion_gray.png]"
else
formspec = formspec .."image[7.2,1;1.2,1.2;tutorial_0.png]"
end
formspec = formspec .."label[5,0;"..p.."/7]"
if p == 7 then
formspec = formspec .."button[6.5,0;2,0.5;medrew;Reward]"
end
player_inv:set_stack("meme", 1 , "default:dirt "..p)
return formspec
end
local rg21 = {}
rg21.get_formspec = function(player, pos)
if player == nil then
return
end
formspec = "size[9,10.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,10.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0,1;I. 13. Artifacts]"
.."label[0,1.3;If you run around you will get artifacts]"
.."label[0,1.6;Collect 71 artifacts to get the Knight key]"
.."label[0,1.9;How to use artifacts:]"
.."label[0,2.2;1. run around]"
.."label[0,2.5;2. get 71 artifacts]"
.."label[0,2.8;3. press 'reward']"
.."button[2,10; 2,0.5;rg14;<]"
.."button[4,10; 2,0.5;rg22;>]"
return formspec
end
local rg22 = {}
rg22.get_formspec = function(player, pos)
if player == nil then
return
end
formspec = "size[9,10.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[9,10.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."label[0,1;I. 14. Medallion]"
.."label[0,1.3;craft medallions in the medallion craft]"
.."label[0,1.6;Collect 7 medallions to get the Crystalkey]"
.."label[0,1.9;How to use artifacts:]"
.."label[0,2.2;1. craft medallions]"
.."label[0,2.5;2. get 7 medallions]"
.."label[0,2.8;3. press 'reward']"
.."button[2,10; 2,0.5;rg21;<]"
.."button[4,10; 2,0.5;rg23;>]"
return formspec
end
local timer = 0
local oldpos = {}
local newpos = {}
minetest.register_globalstep(function(dtime)
timer = timer + dtime
if (timer >= 1) then
local players = minetest.get_connected_players()
for _,player in ipairs(players) do
local pri = minetest.get_player_privs(player:get_player_name())
local player_inv = player:get_inventory()
player_inv:set_size("youtube", 1)
local c = player_inv:get_stack("youtube",1):get_count()
if c == 0 then
if pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring and pri.server and pri.password and pri.delprotect and pri.kick and pri.ban and pri.rollback and pri.privs and pri.basic_privs and pri.give and pri.protection_bypass and pri.travelnet_remove and pri.travelnet_attach and pri.shop_admin and pri.creative then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Admin]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Legend]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Hero]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[VIP]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Premium]"..player:get_player_name()})
elseif pri.interact and pri.shout then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}, text = "[Member]"..player:get_player_name()})
else
player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Enemy]"..player:get_player_name()})
end
else
if pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring and pri.server and pri.password and pri.delprotect and pri.kick and pri.ban and pri.rollback and pri.privs and pri.basic_privs and pri.give and pri.protection_bypass and pri.travelnet_remove and pri.travelnet_attach and pri.shop_admin and pri.creative then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Youtuber][Admin]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Youtuber][Legend]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport and pri.noclip and pri.debug then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Youtuber][Hero]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.teleport then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[Youtuber][VIP]"..player:get_player_name()})
elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home then
player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Youtuber][Premium]"..player:get_player_name()})
elseif pri.interact and pri.shout then
player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}, text = "[Youtuber][Member]"..player:get_player_name()})
else
player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Youtuber][Enemy]"..player:get_player_name()})
end
end
if (oldpos[player:get_player_name()] ~= nil) then
local playername = player:get_player_name()
local pos = player:getpos()
local player_inv = player:get_inventory()
player_inv:set_size("mov", 1)
player_inv:set_size("mov2", 1)
local count = player_inv:get_stack("mov", 1):get_count()
player_inv:set_stack("mov", 1 , "default:dirt "..count+math.sqrt(math.pow(oldpos[playername].x - pos.x, 2) + math.pow(oldpos[playername].y - pos.y, 2) + math.pow(oldpos[playername].z - pos.z,2)))
local count = player_inv:get_stack("mov", 1):get_count()
local count2 = player_inv:get_stack("mov2", 1):get_count()
player_inv:set_stack("mov2", 1 , "default:dirt "..count2+math.sqrt(math.pow(oldpos[playername].x - pos.x, 2) + math.pow(oldpos[playername].y - pos.y, 2) + math.pow(oldpos[playername].z - pos.z,2)))
local count2 = player_inv:get_stack("mov2", 1):get_count()
if count > 250 then
player_inv:set_stack("mov", 1 , "default:dirt")
local r = math.random(1, 14)
if r == 13 or r == 14 then
local r2 = math.random(1, 11)
player_inv:set_stack("art13", r2 , "default:dirt")
else
local r2 = math.random(1, 5)
player_inv:set_stack("art"..r, r2 , "default:dirt")
end
end
if count2 > 500 then
player_inv:set_stack("mov2", 1 , "default:dirt")
player_inv:add_item("medall", "tutorial:medallion")
end
end
oldpos[player:get_player_name()] = player:getpos()
end
timer = 0
end
end)
minetest.register_craftitem("tutorial:gem_fragment2", {
description = "Gem fragment lv.2",
inventory_image = "tutorial_gem_fragment2.png",
})
minetest.register_node("tutorial:geschenk_tortoise",{
description = "Gift (tortoise)",
is_ground_content = true,
tiles = {"tutorial_geschenk_dragon.png"},
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
drop = {},
})
minetest.register_node("tutorial:geschenk_gem2",{
description = "Gift lv.2 (gem)",
is_ground_content = true,
tiles = {"tutorial_geschenk_gem2.png"},
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
drop = {},
})
local artifacts = {}
artifacts.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("afaf", 5)
player_inv:set_size("art1", 5)
player_inv:set_size("art2", 5)
player_inv:set_size("art3", 5)
player_inv:set_size("art4", 5)
player_inv:set_size("art5", 5)
player_inv:set_size("art6", 5)
player_inv:set_size("art7", 5)
player_inv:set_size("art8", 5)
player_inv:set_size("art9", 5)
player_inv:set_size("art10", 5)
player_inv:set_size("art11", 5)
player_inv:set_size("art12", 5)
player_inv:set_size("art13", 11)
local af = 0
formspec = "size[11.8,7.4]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."label[5.4,1;green artifacts]"
.."label[5.4,2;blue artifacts]"
.."label[5.4,3;yellow artifacts]"
.."label[5.4,4;purple artifacts]"
.."label[5.4,5;cyan artifacts]"
.."label[5.4,6;red artifacts]"
.."label[10.7,7;grey artifacts]"
for j=1,12,1 do
for i=1,5,1 do
local ar = player_inv:get_stack("art"..j, i):get_count()
if ar == 1 and j == 1 then
formspec = formspec .."image["..(-1+i)..",1;0.6,0.6;artifacts_gruen1.png]"
af = af+1
elseif ar == 1 and j == 2 then
formspec = formspec .."image["..(6+i)..",1;0.6,0.6;artifacts_gruen2.png]"
af = af+1
elseif ar == 1 and j == 3 then
formspec = formspec .."image["..(-1+i)..",2;0.6,0.6;artifacts_blau1.png]"
af = af+1
elseif ar == 1 and j == 4 then
formspec = formspec .."image["..(6+i)..",2;0.6,0.6;artifacts_blau2.png]"
af = af+1
elseif ar == 1 and j == 5 then
formspec = formspec .."image["..(-1+i)..",3;0.6,0.6;artifacts_gelb1.png]"
af = af+1
elseif ar == 1 and j == 6 then
formspec = formspec .."image["..(6+i)..",3;0.6,0.6;artifacts_gelb2.png]"
af = af+1
elseif ar == 1 and j == 7 then
formspec = formspec .."image["..(-1+i)..",4;0.6,0.6;artifacts_lila1.png]"
af = af+1
elseif ar == 1 and j == 8 then
formspec = formspec .."image["..(6+i)..",4;0.6,0.6;artifacts_lila2.png]"
af = af+1
elseif ar == 1 and j == 9 then
formspec = formspec .."image["..(-1+i)..",5;0.6,0.6;artifacts_cyan1.png]"
af = af+1
elseif ar == 1 and j == 10 then
formspec = formspec .."image["..(6+i)..",5;0.6,0.6;artifacts_cyan2.png]"
af = af+1
elseif ar == 1 and j == 11 then
formspec = formspec .."image["..(-1+i)..",6;0.6,0.6;artifacts_rot1.png]"
af = af+1
elseif ar == 1 and j == 12 then
formspec = formspec .."image["..(6+i)..",6;0.6,0.6;artifacts_rot2.png]"
af = af+1
else
if j == 1 or j == 3 or j == 5 or j == 7 or j == 9 or j == 11 then
formspec = formspec .."image["..(-1+i)..","..math.ceil((j/2))..";0.6,0.6;tutorial_0.png]"
else
formspec = formspec .."image["..(6+i)..","..math.ceil((j/2))..";0.6,0.6;tutorial_0.png]"
end
end
end
end
for i=1,11,1 do
local ar = player_inv:get_stack("art13", i):get_count()
if ar == 1 then
formspec = formspec .."image["..(-1+i)..",7;0.6,0.6;artifacts_grau"..i..".png]"
af = af+1
else
formspec = formspec .."image["..(-1+i)..",7;0.6,0.6;tutorial_0.png]"
end
end
if af == 71 then
formspec = formspec .."button[7,0;2,0.5;artrew;Reward]"
end
player_inv:set_stack("afaf", 1 , "default:dirt "..af)
formspec = formspec
.."label[4,0;"..af.."/71]"
.."background[8,8.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
return formspec
end
local crafting6 = {}
crafting6.get_formspec = function(player, pos)
if player:is_player() then
else
return
end
local player_inv = player:get_inventory()
player_inv:set_size("uranin", 1)
player_inv:set_size("cookin", 1)
player_inv:set_size("cookkey", 1)
player_inv:set_size("fuel", 1)
local fuel = player_inv:get_stack("fuel", 1):get_count()
formspec = "size[8,8.3]"
.."button[0,0;2,0.5;cr;Back]"
.."button[2,0;2,0.5;main;Main]"
.."label[0,1;Fuel:"..fuel.."]"
.."list[current_player;main;0,4.25;8,1;]"
.."list[current_player;uranin;1,2;1,1]"
.."button[2.5,3.3;2,0.5;cook;Craft (MAX)]"
.."list[current_player;cookin;3,2;1,1]"
.."label[1.15,2.8;Uranium]"
.."button[0.5,3.3;2,0.5;fuel;Get Fuel]"
.."list[current_player;cookkey;6,2;1,1]"
.."label[6,2.8;Cookingkey]"
.."list[current_player;main;0,5.5;8,3;8]"
.."background[10,11.3.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
return formspec
end
minetest.register_craftitem("tutorial:fox_schluessel", {
description = "Foxkey",
inventory_image = "tutorial_fox_schluessel.png",
})
minetest.override_item("default:obsidian", {
description = "Obsidian Lv.1",
})
minetest.override_item("default:diamondblock", {
description = "Diamond block lv.1",
})
minetest.register_craft({
output = 'tutorial:wallplacer1',
recipe = {
{'', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', ''},
{'', 'tutorial:coin_gelb', '', 'tutorial:coin_gelb', ''},
{'', '', 'tutorial:coin_gelb', '', ''},
{'', '', 'tutorial:coin_gelb', '', ''},
{'', '', 'tutorial:coin_gelb', '', ''},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer2_1',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer1', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer3_1',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer2_1', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer3_2',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer2_2', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer4_1',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer3_1', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer4_2',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer3_2', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer4_3',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer3_3', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer5_1',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer4_1', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer5_2',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer4_2', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer5_3',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer4_3', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craft({
output = 'tutorial:wallplacer5_4',
recipe = {
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:wallplacer4_4', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
{'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb', 'tutorial:coin_gelb'},
}
})
minetest.register_craftitem("tutorial:wallplacer1", {
description = "Wallplacer lv.1",
inventory_image = "tutorial_block_placer1.png",
groups = {not_in_creative_inventory=1},
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer2_2", {
description = "Wallplacer lv.2",
inventory_image = "tutorial_block_placer2.png^technic_tool_mode2.png",
wield_image = "tutorial_block_placer2.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer2_1")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer2_1", {
description = "Wallplacer lv.2",
inventory_image = "tutorial_block_placer2.png^technic_tool_mode1.png",
wield_image = "tutorial_block_placer2.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer2_2")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer3_1", {
description = "Wallplacer lv.3",
inventory_image = "tutorial_block_placer3.png^technic_tool_mode1.png",
wield_image = "tutorial_block_placer3.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer3_2")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer3_2", {
description = "Wallplacer lv.3",
inventory_image = "tutorial_block_placer3.png^technic_tool_mode2.png",
wield_image = "tutorial_block_placer3.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer3_3")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer3_3", {
description = "Wallplacer lv.3",
inventory_image = "tutorial_block_placer3.png^technic_tool_mode3.png",
wield_image = "tutorial_block_placer3.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer3_1")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer4_1", {
description = "Wallplacer lv.4",
inventory_image = "tutorial_block_placer4.png^technic_tool_mode1.png",
wield_image = "tutorial_block_placer4.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer4_2")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer4_2", {
description = "Wallplacer lv.4",
inventory_image = "tutorial_block_placer4.png^technic_tool_mode2.png",
wield_image = "tutorial_block_placer4.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer4_3")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer4_3", {
description = "Wallplacer lv.4",
inventory_image = "tutorial_block_placer4.png^technic_tool_mode3.png",
wield_image = "tutorial_block_placer4.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer4_4")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer4_4", {
description = "Wallplacer lv.4",
inventory_image = "tutorial_block_placer4.png^technic_tool_mode4.png",
wield_image = "tutorial_block_placer4.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer4_1")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer5_1", {
description = "Wallplacer lv.MAX",
inventory_image = "tutorial_block_placer5.png^technic_tool_mode1.png",
wield_image = "tutorial_block_placer5.png",
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer5_2")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer5_2", {
description = "Wallplacer lv.MAX",
inventory_image = "tutorial_block_placer5.png^technic_tool_mode2.png",
wield_image = "tutorial_block_placer5.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer5_3")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer5_3", {
description = "Wallplacer lv.MAX",
inventory_image = "tutorial_block_placer5.png^technic_tool_mode3.png",
wield_image = "tutorial_block_placer5.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer5_4")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer5_4", {
description = "Wallplacer lv.MAX",
inventory_image = "tutorial_block_placer5.png^technic_tool_mode4.png",
wield_image = "tutorial_block_placer5.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer5_5")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:wallplacer5_5", {
description = "Wallplacer lv.MAX",
inventory_image = "tutorial_block_placer5.png^technic_tool_mode5.png",
wield_image = "tutorial_block_placer5.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:wallplacer5_1")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-6), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-6), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-11), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-11), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-6), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-6), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-11), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-11), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:adminwallplacer_1", {
description = "Admin tool 9: Wallplacer",
inventory_image = "tutorial_block_placerAdmin.png^technic_tool_mode1.png",
wield_image = "tutorial_block_placerAdmin.png",
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:adminwallplacer_2")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-2), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-2)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-2), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,3,1 do
for j=1,3,1 do
local name = minetest.get_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-2), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:adminwallplacer_2", {
description = "Admin tool 9: Wallplacer",
inventory_image = "tutorial_block_placerAdmin.png^technic_tool_mode2.png",
wield_image = "tutorial_block_placerAdmin.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:adminwallplacer_3")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-3), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-3)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-3), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,5,1 do
for j=1,5,1 do
local name = minetest.get_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-3), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:adminwallplacer_3", {
description = "Admin tool 9: Wallplacer",
inventory_image = "tutorial_block_placerAdmin.png^technic_tool_mode3.png",
wield_image = "tutorial_block_placerAdmin.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:adminwallplacer_4")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-4), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-7), z=pos.z+(j-4)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-4), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,7,1 do
for j=1,7,1 do
local name = minetest.get_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-4), y=pos.y+(i-7), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:adminwallplacer_4", {
description = "Admin tool 9: Wallplacer",
inventory_image = "tutorial_block_placerAdmin.png^technic_tool_mode4.png",
wield_image = "tutorial_block_placerAdmin.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:adminwallplacer_5")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-5), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-9), z=pos.z+(j-5)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-5), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,9,1 do
for j=1,9,1 do
local name = minetest.get_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-5), y=pos.y+(i-9), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craftitem("tutorial:adminwallplacer_5", {
description = "Admin tool 9: Wallplacer",
inventory_image = "tutorial_block_placerAdmin.png^technic_tool_mode5.png",
wield_image = "tutorial_block_placerAdmin.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("tutorial:adminwallplacer_1")
end
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local main = placer:get_wield_index()+1
local inv = placer:get_inventory()
local stack = inv:get_stack("main", main)
local count = inv:get_stack("main", main):get_count()
if pointed_thing ~= nil then
local dir=placer:get_look_dir()
local di = 0
if math.abs(dir.x)>math.abs(dir.z) then
if dir.x>0 then
di = 0
else
di = 1
end
elseif dir.z>0 then
di = 2
else
di = 3
end
local pos = pointed_thing.above
local pos2 = pointed_thing.under
local ab = 0
if minetest.registered_nodes[stack:get_name()] then
if di == 1 or di == 0 then
if pos.y == pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-6), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-6), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-1), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x, y=pos.y+(i-11), z=pos.z+(j-6)}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x, y=pos.y+(i-11), z=pos.z+(j-6)}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
if di == 2 or di == 3 then
if pos.y == pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-6), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-6), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y > pos2.y then
for i= 1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-1), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-1), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
elseif pos.y < pos2.y then
for i=1,11,1 do
for j=1,11,1 do
local name = minetest.get_node({x=pos.x+(j-6), y=pos.y+(i-11), z=pos.z}).name
if name == "air" or name == "default:water_source" or name == "default:water_flowing" or name == "default:river_water_source" or name == "default:river_water_flowing" or name == "default:lava_source" or name == "default:lava_flowing" or name == "technic:corium_flowing" then
local count = inv:get_stack("main", main):get_count()
if count > 0 then
minetest.set_node({x=pos.x+(j-6), y=pos.y+(i-11), z=pos.z}, {name=stack:get_name()})
inv:remove_item("main", stack:get_name())
end
end
end
end
end
end
end
end
end,
})
minetest.register_craft({
output = 'tutorial:gun',
recipe = {
{'group:wood', 'group:wood', 'group:wood'},
{'', 'default:stick', 'group:wood'},
{'', '', 'default:stick'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega1',
recipe = {
{'tutorial:obsidian4', 'tutorial:obsidian4', 'tutorial:obsidian4'},
{'tutorial:obsidian4', 'tutorial:gun', 'tutorial:obsidian4'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega2',
recipe = {
{'tutorial:obsidian4', 'tutorial:obsidian4', 'tutorial:obsidian4'},
{'tutorial:obsidian4','tutorial:gun_mega1','tutorial:obsidian4'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega3',
recipe = {
{'tutorial:obsidian5', 'tutorial:obsidian5', 'tutorial:obsidian5'},
{'tutorial:obsidian5','tutorial:gun_mega2','tutorial:obsidian5'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega4',
recipe = {
{'tutorial:obsidian6', 'tutorial:obsidian6', 'tutorial:obsidian6'},
{'tutorial:obsidian6','tutorial:gun_mega3','tutorial:obsidian6'},
{'tutorial:thunder', 'tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega5',
recipe = {
{'tutorial:dunklematerie4','tutorial:dunklematerie4', 'tutorial:dunklematerie4'},
{'tutorial:dunklematerie4','tutorial:gun_mega4','tutorial:dunklematerie4'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega6',
recipe = {
{'tutorial:dunklematerie4','tutorial:dunklematerie4', 'tutorial:dunklematerie4'},
{'tutorial:dunklematerie4','tutorial:gun_mega5','tutorial:dunklematerie4'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega7',
recipe = {
{'tutorial:dunklematerie5','tutorial:dunklematerie5', 'tutorial:dunklematerie5'},
{'tutorial:dunklematerie5','tutorial:gun_mega6','tutorial:dunklematerie5'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega8',
recipe = {
{'tutorial:dunklematerie6','tutorial:dunklematerie6', 'tutorial:dunklematerie6'},
{'tutorial:dunklematerie6','tutorial:gun_mega7','tutorial:dunklematerie6'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega9',
recipe = {
{'tutorial:diamondblock2','tutorial:diamondblock2', 'tutorial:diamondblock2'},
{'tutorial:diamondblock2','tutorial:gun_mega8','tutorial:diamondblock2'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega10',
recipe = {
{'tutorial:diamondblock2','tutorial:diamondblock2', 'tutorial:diamondblock2'},
{'tutorial:diamondblock2','tutorial:gun_mega9','tutorial:diamondblock2'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega11',
recipe = {
{'tutorial:diamondblock2','tutorial:diamondblock2', 'tutorial:diamondblock2'},
{'tutorial:diamondblock2','tutorial:gun_mega10','tutorial:diamondblock2'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega12',
recipe = {
{'tutorial:diamondblock2','tutorial:diamondblock2', 'tutorial:diamondblock2'},
{'tutorial:diamondblock2','tutorial:gun_mega11','tutorial:diamondblock2'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega13',
recipe = {
{'default:goldblock','default:goldblock', 'default:goldblock'},
{'default:goldblock','tutorial:gun_mega12','default:goldblock'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega14',
recipe = {
{'default:nyancat_rainbow','default:nyancat_rainbow', 'default:nyancat_rainbow'},
{'default:nyancat_rainbow','tutorial:gun_mega13','default:nyancat_rainbow'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega15',
recipe = {
{'default:nyancat_rainbow','default:nyancat_rainbow', 'default:nyancat_rainbow'},
{'default:nyancat_rainbow','tutorial:gun_mega14','default:nyancat_rainbow'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega16',
recipe = {
{'tutorial:megablock1','tutorial:megablock1', 'tutorial:megablock1'},
{'tutorial:megablock1','tutorial:gun_mega15','tutorial:megablock1'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega17',
recipe = {
{'tutorial:megablock1','tutorial:megablock1', 'tutorial:megablock1'},
{'tutorial:megablock1','tutorial:gun_mega16','tutorial:megablock1'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega18',
recipe = {
{'tutorial:megablock1','tutorial:megablock1', 'tutorial:megablock1'},
{'tutorial:megablock1','tutorial:gun_mega17','tutorial:megablock1'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega19',
recipe = {
{'tutorial:megablock1','tutorial:megablock1', 'tutorial:megablock1'},
{'tutorial:megablock1','tutorial:gun_mega18','tutorial:megablock1'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:gun_mega20',
recipe = {
{'tutorial:megablock2','tutorial:megablock2', 'tutorial:megablock2'},
{'tutorial:megablock2','tutorial:gun_mega19','tutorial:megablock2'},
{'tutorial:thunder','tutorial:thunder', 'tutorial:thunder'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega25',
recipe = {
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:cloudgun_mega24', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega24',
recipe = {
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:cloudgun_mega23', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega23',
recipe = {
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:cloudgun_mega22', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega22',
recipe = {
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:cloudgun_mega21', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega21',
recipe = {
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:cloudgun_mega20', 'tutorial:superblock9'},
{'tutorial:superblock9', 'tutorial:superblock9', 'tutorial:superblock9'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega20',
recipe = {
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:cloudgun_mega19', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega19',
recipe = {
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:cloudgun_mega18', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega18',
recipe = {
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:cloudgun_mega17', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega17',
recipe = {
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:cloudgun_mega16', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega16',
recipe = {
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:cloudgun_mega15', 'tutorial:superblock8'},
{'tutorial:superblock8', 'tutorial:superblock8', 'tutorial:superblock8'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega15',
recipe = {
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:cloudgun_mega14', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega14',
recipe = {
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:cloudgun_mega13', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega13',
recipe = {
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:cloudgun_mega12', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega12',
recipe = {
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:cloudgun_mega11', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega11',
recipe = {
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:cloudgun_mega10', 'tutorial:superblock7'},
{'tutorial:superblock7', 'tutorial:superblock7', 'tutorial:superblock7'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega10',
recipe = {
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:cloudgun_mega9', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega9',
recipe = {
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:cloudgun_mega8', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega8',
recipe = {
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:cloudgun_mega7', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega7',
recipe = {
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:cloudgun_mega6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega6',
recipe = {
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:cloudgun_mega5', 'tutorial:superblock6'},
{'tutorial:superblock6', 'tutorial:superblock6', 'tutorial:superblock6'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega5',
recipe = {
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:cloudgun_mega4', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega4',
recipe = {
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:cloudgun_mega3', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega3',
recipe = {
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:cloudgun_mega2', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega2',
recipe = {
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:cloudgun_mega1', 'tutorial:superblock5'},
{'tutorial:superblock5', 'tutorial:superblock5', 'tutorial:superblock5'},
}
})
minetest.register_craft({
output = 'tutorial:cloudgun_mega1',
recipe = {
{'tutorial:cloudentverner21', 'tutorial:gun_mega20'},
}
})
minetest.register_craft({
output = 'tutorial:supergun4',
recipe = {
{'tutorial:whiteblock6', 'tutorial:thunder', 'tutorial:blackblock6'},
{'tutorial:whiteblock6', 'tutorial:supergun3', 'tutorial:blackblock6'},
{'tutorial:whiteblock6', 'tutorial:thunder', 'tutorial:blackblock6'},
}
})
minetest.register_craft({
output = 'tutorial:supergun3',
recipe = {
{'tutorial:whiteblock6', 'tutorial:thunder', 'tutorial:blackblock6'},
{'tutorial:whiteblock6', 'tutorial:supergun2', 'tutorial:blackblock6'},
{'tutorial:whiteblock6', 'tutorial:thunder', 'tutorial:blackblock6'},
}
})
minetest.register_craft({
output = 'tutorial:supergun2',
recipe = {
{'tutorial:whiteblock5', 'tutorial:thunder', 'tutorial:blackblock5'},
{'tutorial:whiteblock5', 'tutorial:supergun1', 'tutorial:blackblock5'},
{'tutorial:whiteblock5', 'tutorial:thunder', 'tutorial:blackblock5'},
}
})
minetest.register_craft({
output = 'tutorial:supergun1',
recipe = {
{'tutorial:zauberstab9', 'tutorial:cloudgun_mega25', 'tutorial:swored_zauber9'},
}
})
minetest.register_craft({
output = 'tutorial:uraniumgun2',
recipe = {
{'tutorial:uranium9', 'tutorial:uranium9', 'tutorial:uranium9'},
{'tutorial:uranium9', 'tutorial:uraniumgun1', 'tutorial:uranium9'},
{'tutorial:uranium9', 'tutorial:uranium9', 'tutorial:uranium9'},
}
})
minetest.register_craft({
output = 'tutorial:uraniumgun1',
recipe = {
{'tutorial:uranium8', 'tutorial:uranium8', 'tutorial:uranium8'},
{'tutorial:uranium8', 'tutorial:supergun4', 'tutorial:uranium8'},
{'tutorial:uranium8', 'tutorial:uranium8', 'tutorial:uranium8'},
}
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun12',
cooktime = 1000,
output = 'tutorial:superenergygun1',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun1',
cooktime = 1200,
output = 'tutorial:superenergygun2',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun2',
cooktime = 1400,
output = 'tutorial:superenergygun3',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun3',
cooktime = 1600,
output = 'tutorial:superenergygun4',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun4',
cooktime = 1800,
output = 'tutorial:superenergygun5',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun5',
cooktime = 2000,
output = 'tutorial:superenergygun6',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:superenergygun6',
cooktime = 2500,
output = 'tutorial:superenergygun7',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:uraniumgun2',
cooktime = 100,
output = 'tutorial:energygun1',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun1',
cooktime = 100,
output = 'tutorial:energygun2',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun2',
cooktime = 200,
output = 'tutorial:energygun3',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun3',
cooktime = 300,
output = 'tutorial:energygun4',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun4',
cooktime = 400,
output = 'tutorial:energygun5',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun5',
cooktime = 500,
output = 'tutorial:energygun6',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun6',
cooktime = 600,
output = 'tutorial:energygun7',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun7',
cooktime = 700,
output = 'tutorial:energygun8',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun8',
cooktime = 800,
output = 'tutorial:energygun9',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun9',
cooktime = 900,
output = 'tutorial:energygun10',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun10',
cooktime = 1000,
output = 'tutorial:energygun11',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:energygun11',
cooktime = 1500,
output = 'tutorial:energygun12',
})
minetest.register_craft({
output = 'tutorial:kristallgun5',
recipe = {
{'tutorial:admin', 'tutorial:thunder', 'tutorial:admin'},
{'tutorial:admin', 'tutorial:kristallgun4', 'tutorial:admin'},
{'tutorial:admin', 'tutorial:thunder', 'tutorial:admin'},
}
})
minetest.register_craft({
output = 'tutorial:kristallgun4',
recipe = {
{'gems:emerald_block', 'tutorial:thunder', 'gems:emerald_block'},
{'gems:emerald_block', 'tutorial:kristallgun3', 'gems:emerald_block'},
{'gems:emerald_block', 'tutorial:thunder', 'gems:emerald_block'},
}
})
minetest.register_craft({
output = 'tutorial:kristallgun3',
recipe = {
{'gems:pearl_block', 'tutorial:thunder', 'gems:shadow_block'},
{'gems:pearl_block', 'tutorial:kristallgun2', 'gems:shadow_block'},
{'gems:pearl_block', 'tutorial:thunder', 'gems:shadow_block'},
}
})
minetest.register_craft({
output = 'tutorial:kristallgun2',
recipe = {
{'gems:amethyst_block', 'tutorial:thunder', 'gems:amethyst_block'},
{'gems:amethyst_block', 'tutorial:kristallgun1', 'gems:amethyst_block'},
{'gems:amethyst_block', 'tutorial:thunder', 'gems:amethyst_block'},
}
})
minetest.register_craft({
output = 'tutorial:kristallgun1',
recipe = {
{'gems:ruby_block', 'tutorial:thunder', 'gems:sapphire_block'},
{'gems:ruby_block', 'tutorial:superenergygun7', 'gems:sapphire_block'},
{'gems:ruby_block', 'tutorial:thunder', 'gems:sapphire_block'},
}
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun24',
cooktime = 5000,
output = 'tutorial:ultragun25',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun23',
cooktime = 4800,
output = 'tutorial:ultragun24',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun22',
cooktime = 4600,
output = 'tutorial:ultragun23',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun21',
cooktime = 4400,
output = 'tutorial:ultragun22',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun20',
cooktime = 4200,
output = 'tutorial:ultragun21',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun19',
cooktime = 4000,
output = 'tutorial:ultragun20',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun18',
cooktime = 3800,
output = 'tutorial:ultragun19',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun17',
cooktime = 3600,
output = 'tutorial:ultragun18',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun16',
cooktime = 3400,
output = 'tutorial:ultragun17',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun15',
cooktime = 3200,
output = 'tutorial:ultragun16',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun14',
cooktime = 3000,
output = 'tutorial:ultragun15',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun13',
cooktime = 2800,
output = 'tutorial:ultragun14',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun12',
cooktime = 2600,
output = 'tutorial:ultragun13',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun11',
cooktime = 2400,
output = 'tutorial:ultragun12',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun10',
cooktime = 2200,
output = 'tutorial:ultragun11',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun9',
cooktime = 2000,
output = 'tutorial:ultragun10',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun8',
cooktime = 1800,
output = 'tutorial:ultragun9',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun7',
cooktime = 1600,
output = 'tutorial:ultragun8',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun6',
cooktime = 1400,
output = 'tutorial:ultragun7',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun5',
cooktime = 1200,
output = 'tutorial:ultragun6',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun4',
cooktime = 1000,
output = 'tutorial:ultragun5',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun3',
cooktime = 800,
output = 'tutorial:ultragun4',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun2',
cooktime = 600,
output = 'tutorial:ultragun3',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun1',
cooktime = 400,
output = 'tutorial:ultragun2',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:kristallgun5',
cooktime = 200,
output = 'tutorial:ultragun1',
})
minetest.register_craft({
type = 'cooking',
recipe = 'tutorial:ultragun25',
cooktime = 10000,
output = 'tutorial:ultragun',
})
minetest.register_craft({
output = 'tutorial:arenagun4',
recipe = {
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arenagun3', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
}
})
minetest.register_craft({
output = 'tutorial:arenagun3',
recipe = {
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arenagun2', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
}
})
minetest.register_craft({
output = 'tutorial:arenagun2',
recipe = {
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arenagun1', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
}
})
minetest.register_craft({
output = 'tutorial:arenagun1',
recipe = {
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:ultragun', 'tutorial:arena_block'},
{'tutorial:arena_block', 'tutorial:arena_block', 'tutorial:arena_block'},
}
})
minetest.register_craft({
output = 'tutorial:titangun10',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun9', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun9',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun8', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun8',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun7', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun7',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun6', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun6',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun5', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun5',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun4', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun4',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun3', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun3',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun2', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun2',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:titangun1', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:titangun1',
recipe = {
{'', 'tutorial:titan', ''},
{'tutorial:titan', 'tutorial:arena_gun4', 'tutorial:titan'},
{'', 'tutorial:titan', ''},
}
})
minetest.register_craft({
output = 'tutorial:legendengun1',
recipe = {
{'tutorial:titangun10', 'default:grass_1', 'default:grass_1', 'tutorial:bottle5'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottle5', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:legendengun2',
recipe = {
{'tutorial:legendengun1', 'default:grass_1', 'default:grass_1', 'tutorial:bottle7'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottle7', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:legendengun3',
recipe = {
{'tutorial:legendengun2', 'default:grass_1', 'default:grass_1', 'tutorial:bottle9'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottle9', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:legendengun4',
recipe = {
{'tutorial:legendengun3', 'default:grass_1', 'default:grass_1', 'tutorial:bottle11'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottle11', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:legendengun5',
recipe = {
{'tutorial:legendengun4', 'default:grass_1', 'default:grass_1', 'tutorial:bottleS1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottleS1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:legendengun6',
recipe = {
{'tutorial:legendengun5', 'default:grass_1', 'default:grass_1', 'tutorial:bottleS3'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'default:grass_1', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
{'tutorial:bottleS3', 'default:grass_1', 'default:grass_1', 'default:grass_1'},
}
})
minetest.register_craft({
output = 'tutorial:superlegendengun1',
recipe = {
{'tutorial:lilabattleaxe2', 'tutorial:legendengun6'},
}
})
minetest.register_craft({
output = 'tutorial:superlegendengun1',
recipe = {
{'tutorial:superlegendengun2'},
}
})
minetest.register_craft({
output = 'tutorial:superlegendengun2',
recipe = {
{'tutorial:superlegendengun1'},
}
})
minetest.register_craft({
output = 'tutorial:regnumgun1',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'tutorial:superlegendengun1', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = 'tutorial:regnumgun2',
recipe = {
{'tutorial:regnumgun1'},
}
})
minetest.register_craft({
output = 'tutorial:regnumgun1',
recipe = {
{'tutorial:regnumgun2'},
}
})
minetest.register_craft({
output = 'tutorial:gun_admin1',
recipe = {
{'tutorial:gun_admin2'},
}
})
minetest.register_craft({
output = 'tutorial:gun_admin2',
recipe = {
{'tutorial:gun_admin1'},
}
})
minetest.register_craft({
output = 'tutorial:xp_block_yellow 16',
recipe = {
{'tutorial:titan','tutorial:admin','tutorial:regnum','tutorial:admin','tutorial:titan'},
}
})
for i = 1, 100, 1 do
minetest.register_node("tutorial:level"..i.."_gelb",{
tiles = {"tutorial_level"..i..".png^tutorial_level_gelb.png"},
description = "You are now in Level yellow "..i,
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})
end
minetest.register_craftitem("tutorial:coin_gelb", {
description = "Coin yellow (very rare)",
inventory_image = "tutorial_coin_gelb.png",
stack_max = 9999,
})
minetest.register_node("tutorial:levelMAX_gelb",{
tiles = {"tutorial_levelMAX.png^tutorial_level_gelb.png"},
description = "You are now in Level yellow MAX",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
})
local xpi4 = {}
xpi4.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
local xpi5_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi5",{
on_take = function(inv, listname, index, stack, player)
player:get_inventory():remove_item(listname,stack)
end,
allow_put = function(inv, listname, index, stack, player)
return 0
end,
allow_take = function(inv, listname, index, stack, player)
return stack:get_count()
end,
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
return 0
end,
})
xpi5_inv:set_size("xpi5", 100)
player_inv:set_size("xp5", 100)
for i=1, 100 do
local stack = player_inv:get_stack("xpi5", i)
xpi5_inv:set_stack("xpi5", i, stack)
end
xpi5_inv:set_size("xpi5", 100)
player_inv:set_size("xpi5", 100)
formspec = "size[18,12.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."list[current_player;main;5,7.5;8,1;]"
.."list[current_player;main;5,8.75;8,3;8]"
.."background[18,12.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."list[detached:"..player:get_player_name().."_xpi5;xpi5;0,1.3;18,6]"
.."listring[current_player;main]"
.."listring[detached:"..player:get_player_name().."_xpi5;xpi5]"
.."label[0,0.7;Yellow Level Blocks]"
.."button[7,12;2,0.5;xpi3;<]"
.."button[9,12;2,0.5;xpi5;>]"
return formspec
end
local xpi5 = {}
xpi5.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
local xpi6_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi6",{
on_take = function(inv, listname, index, stack, player)
player:get_inventory():remove_item(listname,stack)
end,
allow_put = function(inv, listname, index, stack, player)
return 0
end,
allow_take = function(inv, listname, index, stack, player)
return stack:get_count()
end,
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
return 0
end,
})
xpi6_inv:set_size("xpi6", 25)
player_inv:set_size("xp6", 25)
for i=1, 25 do
local stack = player_inv:get_stack("xpi6", i)
xpi6_inv:set_stack("xpi6", i, stack)
end
xpi6_inv:set_size("xpi6", 25)
player_inv:set_size("xpi6", 25)
formspec = "size[18,12.3]"
.."button[0,0;2,0.5;inven;Back]"
.."button[2,0;2,0.5;main;Main]"
.."list[current_player;main;5,7.5;8,1;]"
.."list[current_player;main;5,8.75;8,3;8]"
.."background[18,12.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."list[detached:"..player:get_player_name().."_xpi6;xpi6;0,1.3;18,6]"
.."listring[current_player;main]"
.."listring[detached:"..player:get_player_name().."_xpi6;xpi6]"
.."label[0,0.7;Cyan Level Blocks]"
.."button[7,12;2,0.5;xpi4;<]"
return formspec
end
minetest.register_node("tutorial:xp_block_yellow",{
description = "Xp Block (yellow)",
tiles = {"tutorial_xp_block_yellow.png"},
drop = '',
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,xpy=1},
})
for i = 0, 127 do
local XTRAORES_TB = {
physical = false,
timer = 0,
visual = "sprite",
visual_size = {x=0.075, y=0.075,},
textures = {'tutorial_titanium_shot.png'},
lastpos= {},
collisionbox = {0, 0, 0, 0, 0, 0},
metadata = "",
}
XTRAORES_TB.on_step = function(self, dtime)
self.timer = self.timer + dtime
local ki = 0
if i == 0 then
ki = 1
elseif i == 122 then
ki = 122
elseif i == 123 then
ki = 150
elseif i == 124 then
ki = 122
elseif i == 125 then
ki = 150
elseif i == 126 then
ki = 500
elseif i == 127 then
ki = 500
else
ki = i
end
local l = 0
if i == 0 then
l = 1
elseif i < 21 then
l = 2
elseif i < 46 then
l = 3
elseif i < 50 then
l = 4
elseif i < 52 then
l = 5
elseif i < 64 then
l = 6
elseif i < 71 then
l = 7
elseif i < 76 then
l = 8
elseif i < 101 then
l = 9
elseif i < 102 then
l = 10
elseif i < 106 then
l = 11
elseif i < 116 then
l = 12
elseif i < 122 then
l = 13
elseif i < 123 then
l = 14
elseif i < 124 then
l = 15
elseif i < 125 then
l = 14
elseif i < 126 then
l = 15
elseif i < 128 then
l = 20
end
local pos = self.object:getpos()
local node = minetest.get_node(pos)
if self.timer > 0.08 then
local objs = minetest.get_objects_inside_radius({x = pos.x, y = pos.y, z = pos.z}, l)
for k, obj in pairs(objs) do
local damage = ki
if obj:get_luaentity() ~= nil then
if string.match(obj:get_luaentity().name, "monster") or string.match(obj:get_luaentity().name, "mobs_bat") or string.match(obj:get_luaentity().name, "mobs_birds") or string.match(obj:get_luaentity().name, "mobs_butterfly") or string.match(obj:get_luaentity().name, "mobs_crocs") or string.match(obj:get_luaentity().name, "mobs_fish") or string.match(obj:get_luaentity().name, "mobs_jellyfish") or string.match(obj:get_luaentity().name, "mobs_sharks") or string.match(obj:get_luaentity().name, "mobs_turtles") or string.match(obj:get_luaentity().name, "mummy") then
if obj:get_luaentity().name ~= "tutorial:tb_"..i and obj:get_luaentity().name ~= "__builtin:item" then
obj:punch(self.object, 1.0, {full_punch_interval = 1.0, damage_groups= {fleshy = damage}}, nil)
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
end
end
else
if obj:is_player() and self.player then
if obj:get_player_name() == self.player:get_player_name() then
else
obj:punch(self.object, 1.0, {full_punch_interval = 1.0, damage_groups= {fleshy = damage}}, nil)
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
end
else
obj:punch(self.object, 1.0, {full_punch_interval = 1.0, damage_groups= {fleshy = damage}}, nil)
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
end
end
end
end
if self.lastpos.x ~= nil then
if minetest.registered_nodes[node.name].walkable then
if not minetest.setting_getbool("creative_mode") then
minetest.add_item(self.lastpos, "")
end
if i > 126 then
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunderadmin"})
end
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunderadmin"})
end
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
elseif i > 124 and i ~= 126 then
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x+1, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x+1, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z+1}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z+1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x-1, y = pos.y+1, z = pos.z-1}).name == "air" then
minetest.set_node({x = pos.x-1, y = pos.y+1, z = pos.z-1}, {name="tutorial:legend_thunder_8_8"})
end
if minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z}).name == "air" then
minetest.set_node({x = pos.x, y = pos.y+1, z = pos.z}, {name="tutorial:legend_thunder_8_8"})
end
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
end
self.object:remove()
end
end
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
end
minetest.register_entity("tutorial:tb_"..i, XTRAORES_TB)
end
minetest.register_tool("tutorial:gun", {
description = "Gun\nGun-lv.0",
inventory_image = "tutorial_gun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_0")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
for i = 1, 20 do
minetest.register_tool("tutorial:gun_mega"..i, {
description = "Mega Gun lv."..i.."\nGun-lv."..i,
inventory_image = "tutorial_gun_mega"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..i)
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 25 do
minetest.register_tool("tutorial:cloudgun_mega"..i, {
description = "Cloudgun lv."..i.."\nGun-lv."..(i+20),
inventory_image = "tutorial_cloudgun_mega"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+20))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 4 do
minetest.register_tool("tutorial:supergun"..i, {
description = "Supergun lv."..i.."\nGun-lv."..(i+45),
inventory_image = "tutorial_supergun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+45))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 2 do
minetest.register_tool("tutorial:uraniumgun"..i, {
description = "Uraniumgun lv."..i.."\nGun-lv."..(i+49),
inventory_image = "tutorial_uraniumgun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+49))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 12 do
minetest.register_tool("tutorial:energygun"..i, {
description = "Energygun lv."..i.."\nGun-lv."..(i+51),
inventory_image = "tutorial_energygun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+51))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 7 do
minetest.register_tool("tutorial:superenergygun"..i, {
description = "Superenergygun lv."..i.."\nGun-lv."..(i+63),
inventory_image = "tutorial_superenergygun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+63))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 5 do
minetest.register_tool("tutorial:kristallgun"..i, {
description = "Crystalgun lv."..i.."\nGun-lv."..(i+70),
inventory_image = "tutorial_kristallgun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+70))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 25 do
minetest.register_tool("tutorial:ultragun"..i, {
description = "Ultragun lv."..i.."\nGun-lv."..(i+75),
inventory_image = "tutorial_ultragun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+75))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
minetest.register_tool("tutorial:ultragun", {
description = "Superultragun\nGun-lv.101",
inventory_image = "tutorial_superultragun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_101")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
for i = 1, 4 do
minetest.register_tool("tutorial:arenagun"..i, {
description = "Arenagun lv."..i.."\nGun-lv."..(i+101),
inventory_image = "tutorial_arenagun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+101))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 10 do
minetest.register_tool("tutorial:titangun"..i, {
description = "Titangun lv."..i.."\nGun-lv."..(i+105),
inventory_image = "tutorial_titangun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+105))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
for i = 1, 6 do
minetest.register_tool("tutorial:legendengun"..i, {
description = "Legendgun lv."..i.."\nGun-lv."..(i+115),
inventory_image = "tutorial_legendengun"..i..".png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_"..(i+115))
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
end
minetest.register_tool("tutorial:superlegendengun1", {
description = "Superlegendgun Mode 1. Add no thunder\nGun-lv.122",
inventory_image = "tutorial_superlegendengun.png^technic_tool_mode1.png",
wield_image = "tutorial_superlegendengun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_122")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
minetest.register_tool("tutorial:superlegendengun2", {
description = "Superlegendgun Mode 2. Add thunder\nGun-lv.122",
inventory_image = "tutorial_superlegendengun.png^technic_tool_mode2.png",
wield_image = "tutorial_superlegendengun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_124")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
minetest.register_tool("tutorial:regnumgun1", {
description = "Regnumgun Mode 1. Add no thunder\nGun-lv.MAX",
inventory_image = "tutorial_regnumgun.png^technic_tool_mode1.png",
wield_image = "tutorial_regnumgun.png",
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_123")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
minetest.register_tool("tutorial:regnumgun2", {
description = "Regnumgun Mode 2. Add thunder\nGun-lv.MAX",
inventory_image = "tutorial_regnumgun.png^technic_tool_mode2.png",
wield_image = "tutorial_regnumgun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_125")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
minetest.register_tool("tutorial:gun_admin1", {
description = "Admin tool 11: Gun Mode 1. Add no thunder",
inventory_image = "tutorial_admingun.png^technic_tool_mode1.png",
wield_image = "tutorial_admingun.png",
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_126")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
minetest.register_tool("tutorial:gun_admin2", {
description = "Admin tool 11: Gun Mode 2. Add thunder",
inventory_image = "tutorial_admingun.png^technic_tool_mode2.png",
wield_image = "tutorial_admingun.png",
groups = {not_in_creative_inventory=1},
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
local pos = user:getpos()
local dir = user:get_look_dir()
local yaw = user:get_look_yaw()
if pos and dir and yaw then
pos.y = pos.y + 1.6
local obj = minetest.add_entity(pos, "tutorial:tb_127")
if obj then
minetest.sound_play("shot", {object=obj})
obj:setvelocity({x=dir.x * 60, y=dir.y * 60, z=dir.z * 60})
obj:setacceleration({x=dir.x * -0, y=-0, z=dir.z * -0})
obj:setyaw(yaw + math.pi)
local ent = obj:get_luaentity()
if ent then
ent.player = user
end
end
end
return itemstack
end,
})
local mine = {}
mine.get_formspec = function(player, pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("mine1", 1)
player_inv:set_size("mine2", 8)
formspec = "size[10,8.3]"
.."background[10,8.3;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
.."button[0,0;2,0.5;cr;Back]"
.."button[2,0;2,0.5;main;Main]"
.."list[current_player;mine1;0,1.25;5,1;]"
.."list[current_player;mine2;1.5,1.25;8,1;]"
.."label[0,2.2;Mining laser/drill]"
.."button[4,3;2,0.5;craftmine;Craft]"
.."label[5,2.2;Green Coins]"
.."list[current_player;main;1,4.25;8,1;]"
.."list[current_player;main;1,5.5;8,3;8]"
return formspec
end
local recraft = {}
recraft.get_formspec = function(player,pos)
if player == nil then
return
end
local player_inv = player:get_inventory()
local lv = {
{1, "normal", 5, "tutorial:obsidian4", "tutorial:obsidian4", "tutorial:obsidian4", "tutorial:obsidian4", "", "tutorial:obsidian4", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{2, "normal", 5, "tutorial:obsidian4", "tutorial:obsidian4", "tutorial:obsidian4", "tutorial:obsidian4", "", "tutorial:obsidian4", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{3, "normal", 5, "tutorial:obsidian5", "tutorial:obsidian5", "tutorial:obsidian5", "tutorial:obsidian5", "", "tutorial:obsidian5", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{4, "normal", 5, "tutorial:obsidian6", "tutorial:obsidian6", "tutorial:obsidian6", "tutorial:obsidian6", "", "tutorial:obsidian6", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{5, "normal", 5, "tutorial:dunklematerie4", "tutorial:dunklematerie4", "tutorial:dunklematerie4", "tutorial:dunklematerie4", "", "tutorial:dunklematerie4", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{6, "normal", 5, "tutorial:dunklematerie4", "tutorial:dunklematerie4", "tutorial:dunklematerie4", "tutorial:dunklematerie4", "", "tutorial:dunklematerie4", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{7, "normal", 5, "tutorial:dunklematerie5", "tutorial:dunklematerie5", "tutorial:dunklematerie5", "tutorial:dunklematerie5", "", "tutorial:dunklematerie5", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{8, "normal", 5, "tutorial:dunklematerie6", "tutorial:dunklematerie6", "tutorial:dunklematerie6", "tutorial:dunklematerie6", "", "tutorial:dunklematerie6", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{9, "normal", 5, "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "", "tutorial:diamondblock2", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{10, "normal", 5, "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "", "tutorial:diamondblock2", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{11, "normal", 5, "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "", "tutorial:diamondblock2", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{12, "normal", 5, "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "tutorial:diamondblock2", "", "tutorial:diamondblock2", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{13, "normal", 5, "default:goldblock", "default:goldblock", "default:goldblock", "default:goldblock", "", "default:goldblock", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{14, "normal", 5, "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "", "nyancat:nyancat_rainbow", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{15, "normal", 5, "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "nyancat:nyancat_rainbow", "", "nyancat:nyancat_rainbow", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{16, "normal", 5, "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "", "tutorial:megablock1", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{17, "normal", 5, "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "", "tutorial:megablock1", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{18, "normal", 5, "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "", "tutorial:megablock1", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{19, "normal", 5, "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "tutorial:megablock1", "", "tutorial:megablock1", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{20, "normal", 5, "tutorial:megablock2", "tutorial:megablock2", "tutorial:megablock2", "tutorial:megablock2", "", "tutorial:megablock2", "tutorial:thunder", "tutorial:thunder", "tutorial:thunder", 0},
{21, "normal", 2, "tutorial:cloudentverner21", "", "", "", "", "", "", "", "", 0},
{22, "normal", 5, "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", 0},
{23, "normal", 5, "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", 0},
{24, "normal", 5, "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", 0},
{25, "normal", 5, "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", "tutorial:superblock5", 0},
{26, "normal", 5, "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", 0},
{27, "normal", 5, "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", 0},
{28, "normal", 5, "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", 0},
{29, "normal", 5, "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", 0},
{30, "normal", 5, "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", "tutorial:superblock6", 0},
{31, "normal", 5, "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", 0},
{32, "normal", 5, "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", 0},
{33, "normal", 5, "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", 0},
{34, "normal", 5, "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", 0},
{35, "normal", 5, "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", "tutorial:superblock7", 0},
{36, "normal", 5, "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", 0},
{37, "normal", 5, "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", 0},
{38, "normal", 5, "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", 0},
{39, "normal", 5, "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", 0},
{40, "normal", 5, "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", "tutorial:superblock8", 0},
{41, "normal", 5, "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", 0},
{42, "normal", 5, "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", 0},
{43, "normal", 5, "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", 0},
{44, "normal", 5, "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", 0},
{45, "normal", 5, "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", "tutorial:superblock9", 0},
{46, "normal", 2, "tutorial:zauberstab9", "", "tutorial:swored_zauber9", "", "", "", "", "", "", 0},
{47, "normal", 5, "tutorial:whiteblock5", "tutorial:thunder", "tutorial:blackblock5", "tutorial:whiteblock5", "", "tutorial:blackblock5", "tutorial:whiteblock5", "tutorial:thunder", "tutorial:blackblock5", 0},
{48, "normal", 5, "tutorial:whiteblock6", "tutorial:thunder", "tutorial:blackblock6", "tutorial:whiteblock6", "", "tutorial:blackblock6", "tutorial:whiteblock6", "tutorial:thunder", "tutorial:blackblock6", 0},
{49, "normal", 5, "tutorial:whiteblock6", "tutorial:thunder", "tutorial:blackblock6", "tutorial:whiteblock6", "", "tutorial:blackblock6", "tutorial:whiteblock6", "tutorial:thunder", "tutorial:blackblock6", 0},
{50, "normal", 5, "tutorial:uranium8", "tutorial:uranium8", "tutorial:uranium8", "tutorial:uranium8", "", "tutorial:uranium8", "tutorial:uranium8", "tutorial:uranium8", "tutorial:uranium8", 0},
{51, "normal", 5, "tutorial:uranium9", "tutorial:uranium9", "tutorial:uranium9", "tutorial:uranium9", "", "tutorial:uranium9", "tutorial:uranium9", "tutorial:uranium9", "tutorial:uranium9", 0},
{52, "cooking", 1, "", "", "", "", "", "", "", "", "", 100},
{53, "cooking", 1, "", "", "", "", "", "", "", "", "", 100},
{54, "cooking", 1, "", "", "", "", "", "", "", "", "", 200},
{55, "cooking", 1, "", "", "", "", "", "", "", "", "", 300},
{56, "cooking", 1, "", "", "", "", "", "", "", "", "", 400},
{57, "cooking", 1, "", "", "", "", "", "", "", "", "", 500},
{58, "cooking", 1, "", "", "", "", "", "", "", "", "", 600},
{59, "cooking", 1, "", "", "", "", "", "", "", "", "", 700},
{60, "cooking", 1, "", "", "", "", "", "", "", "", "", 800},
{61, "cooking", 1, "", "", "", "", "", "", "", "", "", 900},
{62, "cooking", 1, "", "", "", "", "", "", "", "", "", 1000},
{63, "cooking", 1, "", "", "", "", "", "", "", "", "", 1500},
{64, "cooking", 1, "", "", "", "", "", "", "", "", "", 1000},
{65, "cooking", 1, "", "", "", "", "", "", "", "", "", 1200},
{66, "cooking", 1, "", "", "", "", "", "", "", "", "", 1400},
{67, "cooking", 1, "", "", "", "", "", "", "", "", "", 1600},
{68, "cooking", 1, "", "", "", "", "", "", "", "", "", 1800},
{69, "cooking", 1, "", "", "", "", "", "", "", "", "", 2000},
{70, "cooking", 1, "", "", "", "", "", "", "", "", "", 2500},
{71, "normal", 5, "gems:ruby_block", "tutorial:thunder", "gems:sapphire_block", "gems:ruby_block", "", "gems:sapphire_block", "gems:ruby_block", "tutorial:thunder", "gems:sapphire_block", 0},
{72, "normal", 5, "gems:amethyst_block", "tutorial:thunder", "gems:amethyst_block", "gems:amethyst_block", "", "gems:amethyst_block", "gems:amethyst_block", "tutorial:thunder", "gems:amethyst_block", 0},
{73, "normal", 5, "gems:pearl_block", "tutorial:thunder", "gems:shadow_block", "gems:pearl_block", "", "gems:shadow_block", "gems:pearl_block", "tutorial:thunder", "gems:shadow_block", 0},
{74, "normal", 5, "gems:emerald_block", "tutorial:thunder", "gems:emerald_block", "gems:emerald_block", "", "gems:emerald_block", "gems:emerald_block", "tutorial:thunder", "gems:emerald_block", 0},
{75, "normal", 5, "tutorial:admin", "tutorial:thunder", "tutorial:admin", "tutorial:admin", "", "tutorial:admin", "tutorial:admin", "tutorial:thunder", "tutorial:admin", 0},
{76, "cooking", 1, "", "", "", "", "", "", "", "", "", 200},
{77, "cooking", 1, "", "", "", "", "", "", "", "", "", 400},
{78, "cooking", 1, "", "", "", "", "", "", "", "", "", 600},
{79, "cooking", 1, "", "", "", "", "", "", "", "", "", 800},
{80, "cooking", 1, "", "", "", "", "", "", "", "", "", 1000},
{81, "cooking", 1, "", "", "", "", "", "", "", "", "", 1200},
{82, "cooking", 1, "", "", "", "", "", "", "", "", "", 1400},
{83, "cooking", 1, "", "", "", "", "", "", "", "", "", 1600},
{84, "cooking", 1, "", "", "", "", "", "", "", "", "", 1800},
{85, "cooking", 1, "", "", "", "", "", "", "", "", "", 2000},
{86, "cooking", 1, "", "", "", "", "", "", "", "", "", 2200},
{87, "cooking", 1, "", "", "", "", "", "", "", "", "", 2400},
{88, "cooking", 1, "", "", "", "", "", "", "", "", "", 2600},
{89, "cooking", 1, "", "", "", "", "", "", "", "", "", 2800},
{90, "cooking", 1, "", "", "", "", "", "", "", "", "", 3000},
{91, "cooking", 1, "", "", "", "", "", "", "", "", "", 3200},
{92, "cooking", 1, "", "", "", "", "", "", "", "", "", 3400},
{93, "cooking", 1, "", "", "", "", "", "", "", "", "", 3600},
{94, "cooking", 1, "", "", "", "", "", "", "", "", "", 3800},
{95, "cooking", 1, "", "", "", "", "", "", "", "", "", 4000},
{96, "cooking", 1, "", "", "", "", "", "", "", "", "", 4200},
{97, "cooking", 1, "", "", "", "", "", "", "", "", "", 4400},
{98, "cooking", 1, "", "", "", "", "", "", "", "", "", 4600},
{99, "cooking", 1, "", "", "", "", "", "", "", "", "", 4800},
{100, "cooking", 1, "", "", "", "", "", "", "", "", "", 5000},
{101, "cooking", 1, "", "", "", "", "", "", "", "", "", 10000},
{102, "normal", 5, "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", 0},
{103, "normal", 5, "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", 0},
{104, "normal", 5, "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", 0},
{105, "normal", 5, "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", "tutorial:arena_block", 0},
{106, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{107, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{108, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{109, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{110, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{111, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{112, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{113, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{114, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{115, "normal", 5, "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", "tutorial:titan", "", 0},
{116, "normal", 1, "tutorial:bottle5", "", "", "", "", "", "", "", "", 0},
{117, "normal", 1, "tutorial:bottle7", "", "", "", "", "", "", "", "", 0},
{118, "normal", 1, "tutorial:bottle9", "", "", "", "", "", "", "", "", 0},
{119, "normal", 1, "tutorial:bottle11", "", "", "", "", "", "", "", "", 0},
{120, "normal", 1, "tutorial:bottleS1", "", "", "", "", "", "", "", "", 0},
{121, "normal", 1, "tutorial:bottleS3", "", "", "", "", "", "", "", "", 0},
{122, "normal", 2, "tutorial:lilabattleaxe2", "", "", "", "", "", "", "", "", 0},
{123, "normal", 0, "", "", "", "", "", "", "", "", "", 0},
}
player_inv:set_size("recr", 1)
local re = player_inv:get_stack("recr", 1):get_count()
player_inv:set_size("recr2", 1)
local re2 = player_inv:get_stack("recr2", 1):get_count()
formspec = "size[16,12.5]"
.."button[0,0;2,0.5;zcg;Back]"
.."button[2,0;2,0.5;main;Main]"
.."background[16,12.5;1,1;gui_formbg.png;true]"
.."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
.."bgcolor[#080808BB;true]"
if re ~= 0 then
local pr = ""
if re2 == 0 then
pr = "regnum:battleaxe_"
elseif re2 == 1 then
pr = "regnum:helmet_"
elseif re2 == 2 then
pr = "regnum:chestplate_"
elseif re2 == 3 then
pr = "regnum:leggings_"
elseif re2 == 4 then
pr = "regnum:boots_"
elseif re2 == 5 then
pr = "regnum:shield_"
elseif re2 == 6 then
pr = "regnum:gun_"
end
if can ~= 1 then
if lv[re][1] > 115 and lv[re][1] ~= 122 and lv[re][1] ~= 123 then
formspec = formspec
.."item_image_button[5,0;1,1;"..pr..""..(lv[re][1]-1)..";;]"
.."item_image_button[6,0;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[7,0;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[8,0;1,1;"..lv[re][4]..";zcg:"..lv[re][4]..";]"
.."item_image_button[5,1;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[6,1;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[7,1;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[8,1;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[5,2;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[6,2;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[7,2;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[8,2;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[5,3;1,1;"..lv[re][4]..";zcg:"..lv[re][4]..";]"
.."item_image_button[6,3;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[7,3;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[8,3;1,1;default:grass_1;zcg:default:grass_1;]"
.."item_image_button[11,1;1,1;"..pr..""..lv[re][1]..";;]"
elseif lv[re][1] == 123 then
formspec = formspec
.."item_image_button[7,0;1,1;tutorial:regnum;zcg:tutorial:regnum;]"
.."item_image_button[7,1;1,1;tutorial:bottleSS;zcg:tutorial:bottleSS;]"
.."item_image_button[5,2;1,1;tutorial:regnum;zcg:tutorial:regnum;]"
.."item_image_button[6,2;1,1;tutorial:bottleSS;zcg:tutorial:bottleSS;]"
.."item_image_button[7,2;1,1;"..pr..""..(lv[re][1]-1)..";;]"
.."item_image_button[8,2;1,1;tutorial:bottleSS;zcg:tutorial:bottleSS;]"
.."item_image_button[9,2;1,1;tutorial:regnum;zcg:tutorial:regnum;]"
.."item_image_button[7,3;1,1;tutorial:bottleSS;zcg:tutorial:bottleSS;]"
.."item_image_button[7,4;1,1;tutorial:regnum;zcg:tutorial:regnum;]"
.."item_image_button[11,1;1,1;"..pr..""..lv[re][1]..";;]"
else
if lv[re][4] ~= "" or lv[re][3] == 1 then
if lv[re][3] == 1 then
formspec = formspec .."item_image_button[5,0;1,1;"..pr..""..(lv[re][1]-1)..";fia;]"
else
formspec = formspec .."item_image_button[5,0;1,1;"..lv[re][4]..";zcg:"..lv[re][4]..";]"
end
end
if lv[re][5] ~= "" or lv[re][3] == 2 then
if lv[re][3] == 2 then
formspec = formspec .."item_image_button[6,0;1,1;"..pr..""..(lv[re][1]-1)..";fib;]"
else
formspec = formspec .."item_image_button[6,0;1,1;"..lv[re][5]..";zcg:"..lv[re][5]..";]"
end
end
if lv[re][6] ~= "" or lv[re][3] == 3 then
if lv[re][3] == 3 then
formspec = formspec .."item_image_button[7,0;1,1;"..pr..""..(lv[re][1]-1)..";fic;]"
else
formspec = formspec .."item_image_button[7,0;1,1;"..lv[re][6]..";zcg:"..lv[re][6]..";]"
end
end
if lv[re][7] ~= "" or lv[re][3] == 4 then
if lv[re][3] == 4 then
formspec = formspec .."item_image_button[5,1;1,1;"..pr..""..(lv[re][1]-1)..";fid;]"
else
formspec = formspec .."item_image_button[5,1;1,1;"..lv[re][7]..";zcg:"..lv[re][7]..";]"
end
end
if lv[re][8] ~= "" or lv[re][3] == 5 then
if lv[re][3] == 5 then
formspec = formspec .."item_image_button[6,1;1,1;"..pr..""..(lv[re][1]-1)..";fie;]"
else
formspec = formspec .."item_image_button[6,1;1,1;"..lv[re][8]..";zcg:"..lv[re][8]..";]"
end
end
if lv[re][9] ~= "" or lv[re][3] == 6 then
if lv[re][3] == 6 then
formspec = formspec .."item_image_button[7,1;1,1;"..pr..""..(lv[re][1]-1)..";fif;]"
else
formspec = formspec .."item_image_button[7,1;1,1;"..lv[re][9]..";zcg:"..lv[re][9]..";]"
end
end
if lv[re][10] ~= "" or lv[re][3] == 7 then
if lv[re][3] == 7 then
formspec = formspec .."item_image_button[5,2;1,1;"..pr..""..(lv[re][1]-1)..";fig;]"
else
formspec = formspec .."item_image_button[5,2;1,1;"..lv[re][10]..";zcg:"..lv[re][10]..";]"
end
end
if lv[re][11] ~= "" or lv[re][3] == 8 then
if lv[re][3] == 8 then
formspec = formspec .."item_image_button[6,2;1,1;"..pr..""..(lv[re][1]-1)..";fih;]"
else
formspec = formspec .."item_image_button[6,2;1,1;"..lv[re][11]..";zcg:"..lv[re][11]..";]"
end
end
if lv[re][12] ~= "" or lv[re][3] == 9 then
if lv[re][3] == 9 then
formspec = formspec .."item_image_button[7,2;1,1;"..pr..""..(lv[re][1]-1)..";fii;]"
else
formspec = formspec .."item_image_button[7,2;1,1;"..lv[re][12]..";zcg:"..lv[re][12]..";]"
end
end
formspec = formspec .."item_image_button[11,1;1,1;"..pr..""..lv[re][1]..";;]"
end
formspec = formspec .."image[10,2;1,1;zcg_method_"..lv[re][2]..".png]"
.."image[10,1;1,1;zcg_craft_arrow.png]"
if lv[re][13] ~= 0 then
formspec = formspec .."label[10.1.4,2.7i;"..lv[re][13].."s]"
end
end
end
formspec = formspec
.."item_image_button[0,1;1,1;regnum:battleaxe_0;reg1;]"
.."item_image_button[1,1;1,1;regnum:helmet_0;reg2;]"
.."item_image_button[2,1;1,1;regnum:chestplate_0;reg3;]"
.."item_image_button[0,2;1,1;regnum:leggings_0;reg4;]"
.."item_image_button[1,2;1,1;regnum:boots_0;reg5;]"
.."item_image_button[2,2;1,1;regnum:shield_0;reg6;]"
.."item_image_button[0,3;1,1;regnum:gun_0;reg7;]"
.."button[0,5;1,1;recrafta;1]"
.."button[1,5;1,1;recraftb;2]"
.."button[2,5;1,1;recraftc;3]"
.."button[3,5;1,1;recraftd;4]"
.."button[4,5;1,1;recrafte;5]"
.."button[5,5;1,1;recraftf;6]"
.."button[6,5;1,1;recraftg;7]"
.."button[7,5;1,1;recrafth;8]"
.."button[8,5;1,1;recrafti;9]"
.."button[9,5;1,1;recraftj;10]"
.."button[10,5;1,1;recraftk;11]"
.."button[11,5;1,1;recraftl;12]"
.."button[12,5;1,1;recraftm;13]"
.."button[13,5;1,1;recraftn;14]"
.."button[14,5;1,1;recrafto;15]"
.."button[15,5;1,1;recraftp;16]"
.."button[0,6;1,1;recraftq;17]"
.."button[1,6;1,1;recraftr;18]"
.."button[2,6;1,1;recrafts;19]"
.."button[3,6;1,1;recraftt;20]"
.."button[4,6;1,1;recraftaa;21]"
.."button[5,6;1,1;recraftab;22]"
.."button[6,6;1,1;recraftac;23]"
.."button[7,6;1,1;recraftad;24]"
.."button[8,6;1,1;recraftae;25]"
.."button[9,6;1,1;recraftaf;26]"
.."button[10,6;1,1;recraftag;27]"
.."button[11,6;1,1;recraftah;28]"
.."button[12,6;1,1;recraftai;29]"
.."button[13,6;1,1;recraftaj;30]"
.."button[14,6;1,1;recraftak;31]"
.."button[15,6;1,1;recraftal;32]"
.."button[0,7;1,1;recraftam;33]"
.."button[1,7;1,1;recraftan;34]"
.."button[2,7;1,1;recraftao;35]"
.."button[3,7;1,1;recraftap;36]"
.."button[4,7;1,1;recraftaq;37]"
.."button[5,7;1,1;recraftar;38]"
.."button[6,7;1,1;recraftas;39]"
.."button[7,7;1,1;recraftat;40]"
.."button[8,7;1,1;recraftau;41]"
.."button[9,7;1,1;recraftav;42]"
.."button[10,7;1,1;recraftaw;43]"
.."button[11,7;1,1;recraftax;44]"
.."button[12,7;1,1;recraftay;45]"
.."button[13,7;1,1;recraftba;46]"
.."button[14,7;1,1;recraftbb;47]"
.."button[15,7;1,1;recraftbc;48]"
.."button[0,8;1,1;recraftbd;49]"
.."button[1,8;1,1;recraftca;50]"
.."button[2,8;1,1;recraftcb;51]"
.."button[3,8;1,1;recraftda;52]"
.."button[4,8;1,1;recraftdb;53]"
.."button[5,8;1,1;recraftdc;54]"
.."button[6,8;1,1;recraftdd;55]"
.."button[7,8;1,1;recraftde;56]"
.."button[8,8;1,1;recraftdf;57]"
.."button[9,8;1,1;recraftdg;58]"
.."button[10,8;1,1;recraftdh;59]"
.."button[11,8;1,1;recraftdi;60]"
.."button[12,8;1,1;recraftdj;61]"
.."button[13,8;1,1;recraftdk;62]"
.."button[14,8;1,1;recraftdl;63]"
.."button[15,8;1,1;recraftea;64]"
.."button[0,9;1,1;recrafteb;65]"
.."button[1,9;1,1;recraftec;66]"
.."button[2,9;1,1;recrafted;67]"
.."button[3,9;1,1;recraftee;68]"
.."button[4,9;1,1;recraftef;69]"
.."button[5,9;1,1;recrafteg;70]"
.."button[6,9;1,1;recraftfa;71]"
.."button[7,9;1,1;recraftfb;72]"
.."button[8,9;1,1;recraftfc;73]"
.."button[9,9;1,1;recraftfd;74]"
.."button[10,9;1,1;recraftfe;75]"
.."button[11,9;1,1;recraftga;76]"
.."button[12,9;1,1;recraftgb;77]"
.."button[13,9;1,1;recraftgc;78]"
.."button[14,9;1,1;recraftgd;79]"
.."button[15,9;1,1;recraftge;80]"
.."button[0,10;1,1;recraftgf;81]"
.."button[1,10;1,1;recraftgg;82]"
.."button[2,10;1,1;recraftgh;83]"
.."button[3,10;1,1;recraftgi;84]"
.."button[4,10;1,1;recraftgj;85]"
.."button[5,10;1,1;recraftgk;86]"
.."button[6,10;1,1;recraftgl;87]"
.."button[7,10;1,1;recraftgm;88]"
.."button[8,10;1,1;recraftgn;89]"
.."button[9,10;1,1;recraftgo;90]"
.."button[10,10;1,1;recraftgp;91]"
.."button[11,10;1,1;recraftgq;92]"
.."button[12,10;1,1;recraftgr;93]"
.."button[13,10;1,1;recraftgs;94]"
.."button[14,10;1,1;recraftgt;95]"
.."button[15,10;1,1;recraftgu;96]"
.."button[0,11;1,1;recraftgv;97]"
.."button[1,11;1,1;recraftgw;98]"
.."button[2,11;1,1;recraftgx;99]"
.."button[3,11;1,1;recraftgy;100]"
.."button[4,11;1,1;recraftha;101]"
.."button[5,11;1,1;recraftia;102]"
.."button[6,11;1,1;recraftib;103]"
.."button[7,11;1,1;recraftic;104]"
.."button[8,11;1,1;recraftid;105]"
.."button[9,11;1,1;recraftja;106]"
.."button[10,11;1,1;recraftjb;107]"
.."button[11,11;1,1;recraftjc;108]"
.."button[12,11;1,1;recraftjd;109]"
.."button[13,11;1,1;recraftje;110]"
.."button[14,11;1,1;recraftjf;111]"
.."button[15,11;1,1;recraftjg;112]"
.."button[0,12;1,1;recraftjh;113]"
.."button[1,12;1,1;recraftji;114]"
.."button[2,12;1,1;recraftjj;115]"
.."button[3,12;1,1;recraftka;116]"
.."button[4,12;1,1;recraftkb;117]"
.."button[5,12;1,1;recraftkc;118]"
.."button[6,12;1,1;recraftkd;119]"
.."button[7,12;1,1;recraftke;120]"
.."button[8,12;1,1;recraftkf;121]"
.."button[9,12;1,1;recraftla;122]"
.."button[10,12;1,1;recraftma;MAX]"
return formspec
end
minetest.register_on_player_receive_fields(function(player, formname, fields)
if player == nil then
return
end
local player_inv = player:get_inventory()
if fields.artifacts then
inventory_plus.set_inventory_formspec(player, artifacts.get_formspec(player))
end
if fields.crafting6 then
inventory_plus.set_inventory_formspec(player, crafting6.get_formspec(player))
end
if fields.crafting7 then
inventory_plus.set_inventory_formspec(player, crafting7.get_formspec(player))
end
if fields.crafting8 then
inventory_plus.set_inventory_formspec(player, crafting8.get_formspec(player))
end
if fields.treasures then
inventory_plus.set_inventory_formspec(player, treasures.get_formspec(player))
end
if fields.troph then
inventory_plus.set_inventory_formspec(player, troph.get_formspec(player))
end
if fields.trophys then
inventory_plus.set_inventory_formspec(player, trophys.get_formspec(player))
end
if fields.fuel then
local uran = player_inv:get_stack("uranin", 1):get_name()
local key = player_inv:get_stack("cookkey", 1):get_name()
fuel2 = 4
if key == "tutorial:cooking_schluessel1" then
fuel2 = 5
elseif key == "tutorial:cooking_schluessel2" then
fuel2 = 6
elseif key == "tutorial:cooking_schluessel3" then
fuel2 = 7
elseif key == "tutorial:cooking_schluessel4" then
fuel2 = 8
end
local fuel = 0
if uran == "tutorial:uranium1" then
fuel = fuel2
elseif uran == "tutorial:uranium2" then
fuel = fuel2*2
elseif uran == "tutorial:uranium3" then
fuel = fuel2*4
elseif uran == "tutorial:uranium4" then
fuel = fuel2*8
elseif uran == "tutorial:uranium5" then
fuel = fuel2*16
elseif uran == "tutorial:uranium6" then
fuel = fuel2*32
elseif uran == "tutorial:uranium7" then
fuel = fuel2*64
elseif uran == "tutorial:uranium8" then
fuel = fuel2*128
elseif uran == "tutorial:uranium9" then
fuel = fuel2*256
end
if (player_inv:get_stack("fuel", 1):get_count()+fuel) > 60000 then
else
if fuel > 0 then
player_inv:set_stack("uranin", 1, uran.." "..(player_inv:get_stack("uranin", 1):get_count()-1))
end
player_inv:set_stack("fuel", 1, "default:dirt "..(player_inv:get_stack("fuel", 1):get_count()+fuel))
end
inventory_plus.set_inventory_formspec(player, crafting6.get_formspec(player))
end
if fields.cook then
local count = player_inv:get_stack("cookin", 1):get_count()
local input = player_inv:get_stack("cookin", 1):get_name()
local time = minetest.get_craft_result({method="cooking", width=1, items={player_inv:get_stack("cookin", 1)}}).time
local output = minetest.get_craft_result({method="cooking", width=1, items={player_inv:get_stack("cookin", 1)}})
for i=1,count do
if player_inv:room_for_item("main", output.item) and output.item:get_count() ~= 0 then
if (player_inv:get_stack("fuel", 1):get_count()-time) > -1 then
player_inv:set_stack("fuel", 1, "default:dirt "..(player_inv:get_stack("fuel", 1):get_count()-time))
player_inv:add_item("main",output.item)
player_inv:set_stack("cookin", 1, input.." "..(player_inv:get_stack("cookin", 1):get_count()-1))
end
end
end
inventory_plus.set_inventory_formspec(player, crafting6.get_formspec(player))
end
if fields.trophcra then
local player_inv = player:get_inventory()
player_inv:set_size("trophcr", 1)
player_inv:set_size("tearred", 1)
player_inv:set_size("tearblue", 1)
player_inv:set_size("teargreen", 1)
player_inv:set_size("tearpurple", 1)
player_inv:set_size("tearyellow", 1)
player_inv:set_size("tearcyan", 1)
local name = player_inv:get_stack("trophcr", 1):get_name()
if name == "tutorial:red_tear" then
player_inv:remove_item("trophcr", "tutorial:red_tear")
player_inv:add_item("tearred", "tutorial:medallion")
end
if name == "tutorial:blue_tear" then
player_inv:remove_item("trophcr", "tutorial:blue_tear")
player_inv:add_item("tearblue", "tutorial:medallion")
end
if name == "tutorial:green_tear" then
player_inv:remove_item("trophcr", "tutorial:green_tear")
player_inv:add_item("teargreen", "tutorial:medallion")
end
if name == "tutorial:yellow_tear" then
player_inv:remove_item("trophcr", "tutorial:yellow_tear")
player_inv:add_item("tearyellow", "tutorial:medallion")
end
if name == "tutorial:purple_tear" then
player_inv:remove_item("trophcr", "tutorial:purple_tear")
player_inv:add_item("tearpurple", "tutorial:medallion")
end
if name == "tutorial:cyan_tear" then
player_inv:remove_item("trophcr", "tutorial:cyan_tear")
player_inv:add_item("tearcyan", "tutorial:medallion")
end
inventory_plus.set_inventory_formspec(player, troph.get_formspec(player))
end
if fields.cre2 then
local player_inv = player:get_inventory()
player_inv:set_size("kri", 8)
local k = 0
for i=1, 8 do
if not player_inv:get_stack("kri", i):is_empty() then
k = k+1
end
end
local time = 500-(k*50)
player_inv:set_stack("crtime", 1, "default:dirt")
player_inv:set_size("pixkey", 1)
local name = player_inv:get_stack("pixkey", 1):get_name()
if name == "tutorial:regnum_key_pixeled" then
time = time/2
end
inventory_plus.set_inventory_formspec(player, crafting8.get_formspec(player))
minetest.after(time, function()
if player == nil then
return
end
local player_inv = player:get_inventory()
if crafting8.get_formspec(player) == (player:get_inventory_formspec()) then
inventory_plus.set_inventory_formspec(player, crafting8.get_formspec(player))
end
player_inv:set_stack("crtime", 1, nil)
player_inv:add_item("main", "tutorial:bottle_crystal")
end)
end
if fields.meda1 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda2 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 2")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda3 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 3")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda4 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 4")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda5 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 5")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda6 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 6")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.meda7 then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medallion", 1)
player_inv:set_stack("medallion", 1, "default:dirt 7")
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.mecraft then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medall", 1)
local medall = player_inv:get_stack("medall", 1):get_count()
local medall2 = player_inv:get_stack("medall", 1):get_name()
if medall > 0 and medall2 == "tutorial:medallion" then
player_inv:set_size("medall", 1)
local med = player_inv:get_stack("medallion", 1):get_count()
local x = ""
if med == 1 then
x = "red"
elseif med == 2 then
x = "blue"
elseif med == 3 then
x = "green"
elseif med == 4 then
x = "yellow"
elseif med == 5 then
x = "purple"
elseif med == 6 then
x = "cyan"
elseif med == 7 then
x = "gray"
end
local z = math.random(1,2)
if z == 2 then
local zz = math.random(1,9)
player_inv:set_size("medallion"..x, 9)
player_inv:set_stack("medallion"..x, zz, "default:dirt")
end
player_inv:remove_item("medall", "tutorial:medallion")
end
inventory_plus.set_inventory_formspec(player, meda.get_formspec(player))
end
if fields.rg21 then
inventory_plus.set_inventory_formspec(player, rg21.get_formspec(player))
end
if fields.rg22 then
inventory_plus.set_inventory_formspec(player, rg22.get_formspec(player))
end
if fields.rg23 then
inventory_plus.set_inventory_formspec(player, rg23.get_formspec(player))
end
if fields.rg24 then
inventory_plus.set_inventory_formspec(player, rg24.get_formspec(player))
end
if fields.rg25 then
inventory_plus.set_inventory_formspec(player, rg25.get_formspec(player))
end
if fields.medallion then
inventory_plus.set_inventory_formspec(player, medallion.get_formspec(player))
end
if fields.artrew then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("artrew", 1)
local artrew = player_inv:get_stack("artrew", 1):get_count()
if artrew == 0 then
if player_inv:room_for_item("main", "tutorial:knight_schluessel") == true then
player_inv:add_item("main", "tutorial:knight_schluessel")
player_inv:add_item("artrew", "default:dirt")
end
end
end
if fields.trerew then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("trerew", 1)
local trerew = player_inv:get_stack("trerew", 1):get_count()
if trerew == 0 then
if player_inv:room_for_item("main", "tutorial:legendstick") == true then
player_inv:add_item("main", "tutorial:legendstick")
player_inv:add_item("trerew", "default:dirt")
end
end
end
if fields.medrew then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("medrew", 1)
local medrew = player_inv:get_stack("medrew", 1):get_count()
if medrew == 0 then
if player_inv:room_for_item("main", "tutorial:crystal_schluessel") == true then
player_inv:add_item("main", "tutorial:crystal_schluessel")
player_inv:add_item("medrew", "default:dirt")
end
end
end
if fields.trorew then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("trorew", 1)
local trorew = player_inv:get_stack("trorew", 1):get_count()
if trorew == 0 then
if player_inv:room_for_item("main", "tutorial:protection_schluessel1") == true then
player_inv:add_item("main", "tutorial:protection_schluessel1")
player_inv:add_item("trorew", "default:dirt")
end
end
end
if fields.colreward then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("colreward", 1)
local colreward = player_inv:get_stack("colreward", 1):get_count()
local tata = player_inv:get_stack("tata", 1):get_count()
local afaf = player_inv:get_stack("afaf", 1):get_count()
local trtr = player_inv:get_stack("trtr", 1):get_count()
local meme = player_inv:get_stack("meme", 1):get_count()
local rew = tata+afaf+trtr+meme
if rew == 108 then
if colreward == 0 then
if player_inv:room_for_item("main", "tutorial:colorstick_broken") == true then
player_inv:add_item("main", "tutorial:colorstick_broken")
player_inv:add_item("colreward", "default:dirt")
end
end
end
end
if fields.craftmine then
if player == nil then
return
end
local player_inv = player:get_inventory()
player_inv:set_size("mine1", 1)
player_inv:set_size("mine2", 8)
local gem = player_inv:get_stack("gem0", 1):get_count()
local g1 = player_inv:get_stack("mine2", 1):get_name()
local g2 = player_inv:get_stack("mine2", 2):get_name()
local g3 = player_inv:get_stack("mine2", 3):get_name()
local g4 = player_inv:get_stack("mine2", 4):get_name()
local g5 = player_inv:get_stack("mine2", 5):get_name()
local g6 = player_inv:get_stack("mine2", 6):get_name()
local g7 = player_inv:get_stack("mine2", 7):get_name()
local g8 = player_inv:get_stack("mine2", 8):get_name()
local y1 = player_inv:get_stack("mine2", 1):get_count()
local y2 = player_inv:get_stack("mine2", 2):get_count()
local y3 = player_inv:get_stack("mine2", 3):get_count()
local y4 = player_inv:get_stack("mine2", 4):get_count()
local y5 = player_inv:get_stack("mine2", 5):get_count()
local y6 = player_inv:get_stack("mine2", 6):get_count()
local y7 = player_inv:get_stack("mine2", 7):get_count()
local y8 = player_inv:get_stack("mine2", 8):get_count()
local k = 0
local d = 0
if g1 == g2 and g2 == g3 and g3 == g4 and g4 == g5 and g5 == g6 and g6 == g7 and g7 == g8 then
if g1 == "tutorial:coin" then
k = k+1
end
if g1 == "tutorial:coin2" then
k = k+2
end
end
if k == 1 then
local p = 0
for i = 1, 149 do
if player_inv:get_stack("mine1", 1):get_name() == "technic:laser_mkS"..i and p == 0 then
p = 1
player_inv:set_stack("mine2", 1, "tutorial:coin "..(y1-1))
player_inv:set_stack("mine2", 2, "tutorial:coin "..(y2-1))
player_inv:set_stack("mine2", 3, "tutorial:coin "..(y3-1))
player_inv:set_stack("mine2", 4, "tutorial:coin "..(y4-1))
player_inv:set_stack("mine2", 5, "tutorial:coin "..(y5-1))
player_inv:set_stack("mine2", 6, "tutorial:coin "..(y6-1))
player_inv:set_stack("mine2", 7, "tutorial:coin "..(y7-1))
player_inv:set_stack("mine2", 8, "tutorial:coin "..(y8-1))
player_inv:set_stack("mine1", 1, "technic:laser_mkS"..(i+1))
end
end
end
if k == 2 then
local p = 0
for i = 1, 149 do
local m = player_inv:get_stack("mine1", 1):get_name()
if p == 0 then
if m == "technic:drill_mkS"..i.."_1" or m == "technic:drill_mkS"..i.."_2" or m == "technic:drill_mkS"..i.."_3" or m == "technic:drill_mkS"..i.."_4" or m == "technic:drill_mkS"..i.."_5" or m == "technic:drill_mkS"..i then
p = 1
player_inv:set_stack("mine2", 1, "tutorial:coin2 "..(y1-1))
player_inv:set_stack("mine2", 2, "tutorial:coin2 "..(y2-1))
player_inv:set_stack("mine2", 3, "tutorial:coin2 "..(y3-1))
player_inv:set_stack("mine2", 4, "tutorial:coin2 "..(y4-1))
player_inv:set_stack("mine2", 5, "tutorial:coin2 "..(y5-1))
player_inv:set_stack("mine2", 6, "tutorial:coin2 "..(y6-1))
player_inv:set_stack("mine2", 7, "tutorial:coin2 "..(y7-1))
player_inv:set_stack("mine2", 8, "tutorial:coin2 "..(y8-1))
player_inv:set_stack("mine1", 1, "technic:drill_mkS"..(i+1))
end
end
end
end
inventory_plus.set_inventory_formspec(player, mine.get_formspec(player))
end
if fields.xpi4 then
inventory_plus.set_inventory_formspec(player, xpi4.get_formspec(player))
end
if fields.xpi5 then
inventory_plus.set_inventory_formspec(player, xpi5.get_formspec(player))
end
if fields.mine then
inventory_plus.set_inventory_formspec(player, mine.get_formspec(player))
end
if fields.recraft then
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg1 then
player_inv:set_size("recr2", 1)
player_inv:set_stack("recr2", 1, "")
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg2 then
player_inv:set_size("recr2", 1)
player_inv:set_stack("recr2", 1, "default:dirt "..1)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg3 then
player_inv:set_size("recr2", 2)
player_inv:set_stack("recr2", 1, "default:dirt "..2)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg4 then
player_inv:set_size("recr2", 2)
player_inv:set_stack("recr2", 1, "default:dirt "..3)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg5 then
player_inv:set_size("recr2", 2)
player_inv:set_stack("recr2", 1, "default:dirt "..4)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg6 then
player_inv:set_size("recr2", 2)
player_inv:set_stack("recr2", 1, "default:dirt "..5)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.reg7 then
player_inv:set_size("recr2", 2)
player_inv:set_stack("recr2", 1, "default:dirt "..6)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafta then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..1)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..2)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..3)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..4)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafte then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..5)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..6)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftg then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..7)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafth then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..8)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafti then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..9)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftj then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..10)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftk then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..11)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftl then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..12)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftm then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..13)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftn then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..14)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafto then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..15)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftp then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..16)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftq then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..17)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftr then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..18)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafts then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..19)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftt then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..20)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftaa then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..21)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftab then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..22)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftac then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..23)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftad then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..24)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftae then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..25)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftaf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..26)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftag then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..27)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftah then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..28)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftai then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..29)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftaj then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..30)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftak then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..31)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftal then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..32)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftam then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..33)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftan then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..34)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftao then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..35)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftap then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..36)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftaq then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..37)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftar then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..38)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftas then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..39)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftat then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..40)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftau then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..41)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftav then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..42)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftaw then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..43)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftax then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..44)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftay then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..45)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftba then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..46)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftbb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..47)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftbc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..48)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftbd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..49)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftca then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..50)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftcb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..51)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftda then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..52)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..53)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..54)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..55)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftde then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..56)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..57)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdg then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..58)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdh then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..59)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdi then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..60)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdj then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..61)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdk then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..62)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftdl then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..63)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftea then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..64)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafteb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..65)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftec then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..66)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafted then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..67)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftee then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..68)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftef then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..69)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recrafteg then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..70)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftfa then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..71)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftfb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..72)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftfc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..73)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftfd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..74)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftfe then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..75)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftga then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..76)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..77)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..78)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..79)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftge then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..80)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..81)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgg then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..82)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgh then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..83)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgi then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..84)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgj then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..85)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgk then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..86)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgl then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..87)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgm then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..88)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgn then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..89)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgo then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..90)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgp then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..91)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgq then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..92)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgr then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..93)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgs then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..94)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgt then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..95)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgu then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..96)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgv then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..97)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgw then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..98)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgx then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..99)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftgy then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..100)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftha then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..101)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftia then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..102)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftib then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..103)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftic then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..104)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftid then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..105)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftja then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..106)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..107)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..108)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..109)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftje then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..110)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..111)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjg then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..112)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjh then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..113)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftji then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..114)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftjj then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..115)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftka then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..116)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftkb then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..117)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftkc then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..118)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftkd then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..119)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftke then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..120)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftkf then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..121)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftla then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..122)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
if fields.recraftma then
player_inv:set_size("recr", 1)
player_inv:set_stack("recr", 1, "default:dirt "..123)
inventory_plus.set_inventory_formspec(player, recraft.get_formspec(player))
end
end)
minetest.register_craft({
output = 'tutorial:adminbattleaxe',
recipe = {
{'tutorial:adminbattleaxe3'},
}
})
minetest.register_tool("tutorial:adminbattleaxe3", {
description = "Admin tool 3: Admin battleaxe Mode 3. Only for hunting mobs",
inventory_image = "tutorial_adminbattleaxe.png^technic_tool_mode3.png",
wield_image = "tutorial_adminbattleaxe.png",
groups = {not_in_creative_inventory=1},
tool_capabilities = {
full_punch_interval = 2.0,
max_drop_level=1,
groupcaps={
},
damage_groups = {fleshy=4000}
},
liquids_pointable = false,
})
minetest.register_tool("tutorial:superlegendenbattleaxe3", {
description = "Superlegendbattleaxe Mode 3. Only for hunting mobs\nBattleaxe-lv.122",
inventory_image = "tutorial_superlegendenbattleaxe.png^technic_tool_mode3.png",
wield_image = "tutorial_superlegendenbattleaxe.png",
groups = {not_in_creative_inventory=1},
tool_capabilities = {
full_punch_interval = 2.0,
max_drop_level=1,
groupcaps={
},
damage_groups = {fleshy=244}
},
liquids_pointable = false,
})
minetest.register_craft({
output = 'tutorial:superlegendenbattleaxe1',
recipe = {
{'tutorial:superlegendenbattleaxe3'},
}
})
minetest.register_craft({
output = 'tutorial:regnumbattleaxe1',
recipe = {
{'tutorial:regnumbattleaxe3'},
}
})
minetest.register_tool("tutorial:regnumbattleaxe3", {
description = "Regnumbattleaxe Mode 3. Only for hunting mobs\nBattleaxe-lv.MAX",
inventory_image = "tutorial_regnumbattleaxe.png^technic_tool_mode3.png",
wield_image = "tutorial_regnumbattleaxe.png",
groups = {not_in_creative_inventory=1},
tool_capabilities = {
full_punch_interval = 2.0,
max_drop_level=1,
groupcaps={
},
damage_groups = {fleshy=150}
},
liquids_pointable = false,
})
minetest.register_craft({
output = 'tutorial:bottleSS',
recipe = {
{'', 'tutorial:admin', ''},
{'tutorial:admin', 'tutorial:bottleS3', 'tutorial:admin'},
{'', 'tutorial:admin', ''},
}
})
minetest.register_node("tutorial:bottleSS", {
description = "Ultra magic bottle",
drawtype = "plantlike",
tiles = {"tutorial_bottleSS.png"},
wield_image = "tutorial_bottleSS.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25}
},
groups = {vessel=1,dig_immediate=3,attached_node=1},
})