From 08ca96708f3a0493b5c7a1b9d809cef97b02d4c5 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Wed, 17 Oct 2018 09:57:37 +0100 Subject: [PATCH] fix chest fill, move all blocks to blocks.lua --- blocks.lua | 128 +++++++++++++++++++++++++++++++++++++++++------------ init.lua | 81 +++------------------------------ 2 files changed, 105 insertions(+), 104 deletions(-) diff --git a/blocks.lua b/blocks.lua index fe5f2f8..b29fd70 100644 --- a/blocks.lua +++ b/blocks.lua @@ -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"}, diff --git a/init.lua b/init.lua index fbc0cec..3aa4eb9 100644 --- a/init.lua +++ b/init.lua @@ -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