diff --git a/hive.lua b/hive.lua index b7b3745..5ff1139 100644 --- a/hive.lua +++ b/hive.lua @@ -3,7 +3,7 @@ local hive = {} function hive.construct(pos) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() - local xbg = default.gui_bg..default.gui_bg_img..default.gui_slots..default.get_hotbar_bg(0,1.35) + local xbg = default.gui_bg..default.gui_bg_img..default.gui_slots local formspec = [[ size[8,5;] label[1.35,0;Bees are making honey] @@ -12,17 +12,13 @@ function hive.construct(pos) image[5,0;1,1;hive_layout.png] list[context;honey;5,0;1,1;] list[current_player;main;0,1.35;8,4;] ]] + ..xbg..default.get_hotbar_bg(0,1.35) - meta:set_string("formspec", formspec..xbg) + meta:set_string("formspec", formspec) meta:set_string("infotext", "Artificial Hive") inv:set_size("honey", 1) end -function hive.dig(pos, _) - local inv = minetest.get_meta(pos):get_inventory() - return inv:is_empty("honey") -end - xdecor.register("hive", { description = "Artificial Hive", tiles = { @@ -32,21 +28,18 @@ xdecor.register("hive", { }, groups = {choppy=3, oddly_breakable_by_hand=2, flammable=1}, on_construct = hive.construct, - can_dig = hive.dig, - on_punch = function(_, _, puncher, _) - local health = puncher:get_hp() - puncher:set_hp(health - 4) + can_dig = function(pos, _) + return minetest.get_meta(pos):get_inventory():is_empty("honey") end, - on_rightclick = function(_, _, clicker) - local health = clicker:get_hp() - clicker:set_hp(health - 1) + on_punch = function(_, _, puncher) + puncher:set_hp(puncher:get_hp()-4) end, allow_metadata_inventory_put = function() return 0 end }) minetest.register_abm({ nodenames = {"xdecor:hive"}, - interval = 10, chance = 5, + interval = 20, chance = 10, action = function(pos, _, _, _) local inv = minetest.get_meta(pos):get_inventory() local honeystack = inv:get_stack("honey", 1) @@ -57,7 +50,7 @@ minetest.register_abm({ local maxp = vector.add(pos, radius) local flowers = minetest.find_nodes_in_area(minp, maxp, "group:flower") - if #flowers >= 2 and honey < 12 then + if #flowers >= 2 and honey < 16 then inv:add_item("honey", "xdecor:honey") end end