fix chest fill, move all blocks to blocks.lua

This commit is contained in:
TenPlus1 2018-10-17 09:57:37 +01:00
parent 590fa457b2
commit 08ca96708f
2 changed files with 105 additions and 104 deletions

@ -21,9 +21,12 @@ lucky_block:add_schematics({
-- Default blocks
lucky_block:add_blocks({
{"lig"},
{"fal", {"default:wood", "default:gravel", "default:sand",
"default:desert_sand", "default:stone", "default:dirt",
"default:goldblock"}, 0},
{"sch", "watertrap", 1, true},
{"tel"},
{"dro", {"wool:"}, 10, true},
{"dro", {"default:apple"}, 10},
{"sch", "appletree", 0, false},
{"dro", {"default:snow"}, 10},
@ -56,6 +59,7 @@ lucky_block:add_blocks({
{"sch", "sandtrap", 1, true, {{"default:sand", "default:silver_sand"}} },
{"dro", {"default:pick_steel"}},
{"dro", {"default:shovel_steel"}},
{"exp"},
{"dro", {"default:coal_lump"}, 3},
{"sch", "defaultbush", 0, false},
{"tro", "default:mese", "tnt_blast", true},
@ -103,15 +107,102 @@ lucky_block:add_blocks({
{name = "default:tree", max = 10},
{name = "default:jungletree", max = 10},
}},
{"dro", {"default:coral_brown"}, 5},
{"dro", {"default:coral_orange"}, 5},
{"dro", {"default:coral_skeleton"}, 5},
{"sch", "corals", 0, true},
{"dro", {"default:mese_post_light"}, 5},
{"dro", {"default:fence_wood"}, 5},
{"nod", "default:mese_post_light"},
{"dro", {"default:silver_sand"}, 20},
{"dro", {"default:sand"}, 20},
{"dro", {"default:desert_sand"}, 20},
{"dro", {"default:gravel"}, 15},
{"nod", "default:chest", 0, {
{name = "default:silver_sand", max = 20},
{name = "default:silver_sandstone", max = 20},
{name = "default:desert_sand", max = 20},
{name = "default:silver_sandstone", max = 20},
{name = "default:sand", max = 20},
{name = "default:sandstone", max = 20},
{name = "default:gravel", max = 20},
}},
})
-- default coral blocks
if minetest.registered_nodes["default:coral_brown"] then
local green = minetest.get_color_escape_sequence("#1eff00")
-- custom function (punches player with 5 damage)
local function punchy(pos, player)
player:punch(player, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 5}
}, nil)
minetest.sound_play("player_damage", {pos = pos, gain = 1.0})
minetest.chat_send_player(player:get_player_name(),
green .. S("Stop hitting yourself!"))
end
-- custom function (pint sized player)
local function pint(pos, player)
player:set_properties({visual_size = {x = 0.5, y = 0.5}})
minetest.chat_send_player(player:get_player_name(),
green .. S("Pint Sized Player!"))
minetest.sound_play("default_place_node", {pos = pos, gain = 1.0})
minetest.after (180, function(player, pos) -- 3 minutes
if player and player:is_player() then
player:set_properties({visual_size = {x = 1.0, y = 1.0}})
minetest.sound_play("default_place_node", {pos = pos, gain = 1.0})
end
end, player)
end
-- custom function (drop player inventory and replace with dry shrubs)
local function bushy(pos, player)
local player_inv = player:get_inventory()
pos = player:get_pos() or pos
for i = 1, player_inv:get_size("main") do
local obj = minetest.add_item(pos, player_inv:get_stack("main", i))
if obj then
obj:setvelocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
})
end
player_inv:set_stack("main", i, "default:dry_shrub")
end
minetest.chat_send_player(player:get_player_name(),
green .. S("Dry shrub takeover!"))
end
lucky_block:add_blocks({
{"cus", pint},
{"cus", bushy},
{"cus", punchy},
})
-- wool mod
if minetest.get_modpath("wool") then
lucky_block:add_blocks({
{"dro", {"default:coral_brown"}, 5},
{"dro", {"default:coral_orange"}, 5},
{"dro", {"default:coral_skeleton"}, 5},
{"sch", "corals", 0, true},
{"dro", {"wool:"}, 10, true},
})
end
@ -141,28 +232,6 @@ if minetest.get_modpath("extra_doors") then
})
end
-- default mese post light or sands
if minetest.registered_nodes["default:mese_post_light"] then
lucky_block:add_blocks({
{"dro", {"default:mese_post_light"}, 5},
{"dro", {"default:fence_wood"}, 5},
{"nod", "default:mese_post_light"},
{"dro", {"default:silver_sand"}, 20},
{"dro", {"default:sand"}, 20},
{"dro", {"default:desert_sand"}, 20},
{"dro", {"default:gravel"}, 15},
{"nod", "default:chest", 0, {
{name = "default:silver_sand", max = 20},
{name = "default:silver_sandstone", max = 20},
{name = "default:desert_sand", max = 20},
{name = "default:silver_sandstone", max = 20},
{name = "default:sand", max = 20},
{name = "default:sandstone", max = 20},
{name = "default:gravel", max = 20},
}},
})
end
-- Flowers mod
if minetest.get_modpath("flowers") then
lucky_block:add_blocks({
@ -517,6 +586,7 @@ end
-- Additional Wishing Well Styles
lucky_block:add_blocks({
{"sch", "wishingwell", 0, true},
{"sch", "wishingwell", 0, true, {
{"default:stonebrick", "default:silver_sandstone_brick"},
{"stairs:slab_stonebrick", "stairs:slab_silver_sandstone_brick"},

@ -11,81 +11,9 @@ local S, NS = dofile(MP .. "/intllib.lua")
local green = minetest.get_color_escape_sequence("#1eff00")
-- example custom function (punches player with 5 damage)
local function punchy(pos, player)
player:punch(player, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 5}
}, nil)
minetest.sound_play("player_damage", {pos = pos, gain = 1.0})
minetest.chat_send_player(player:get_player_name(),
green .. S("Stop hitting yourself!"))
end
-- pint sized player
local function pint(pos, player)
player:set_properties({visual_size = {x = 0.5, y = 0.5}})
minetest.chat_send_player(player:get_player_name(),
green .. S("Pint Sized Player!"))
minetest.sound_play("default_place_node", {pos = pos, gain = 1.0})
minetest.after (180, function(player, pos) -- 3 minutes
if player and player:is_player() then
player:set_properties({visual_size = {x = 1.0, y = 1.0}})
minetest.sound_play("default_place_node", {pos = pos, gain = 1.0})
end
end, player)
end
-- custom function to drop player inventory and replace with dry shrubs
local function bushy(pos, player)
local player_inv = player:get_inventory() ; pos = player:get_pos() or pos
for i = 1, player_inv:get_size("main") do
local obj = minetest.add_item(pos, player_inv:get_stack("main", i))
if obj then
obj:setvelocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
})
end
player_inv:set_stack("main", i, "default:dry_shrub")
end
minetest.chat_send_player(player:get_player_name(),
green .. S("Dry shrub takeover!"))
end
-- default blocks
local lucky_list = {
{"cus", pint},
{"sch", "wishingwell", 0, true},
{"cus", bushy},
{"cus", punchy},
{"fal", {"default:wood", "default:gravel", "default:sand",
"default:desert_sand", "default:stone", "default:dirt",
"default:goldblock"}, 0},
{"lig"},
{"nod", "lucky_block:super_lucky_block", 0},
{"exp", 2},
}
@ -243,14 +171,17 @@ local function fill_chest(pos, items)
local stuff = chest_stuff[math.random(1, #chest_stuff)]
table.insert(stacks, {
name = stuff.name, count = math.random(1, stuff.max)})
table.insert(stacks, {name = stuff.name, max = stuff.max})
end
for s = 1, #stacks do
if not inv:contains_item("main", stacks[s]) then
inv:set_stack("main", math.random(1, 32), stacks[s])
inv:set_stack("main", math.random(1, 32), {
name = stacks[s].name,
count = math.random(1, stacks[s].max)
})
end
end
end