From f659acf3250ddc732112b640fa5e56a18ebb69a8 Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Sun, 31 Jan 2016 19:14:51 +0100 Subject: [PATCH] new textures, formspecs - beginnig --- API.lua | 14 +- spawners_mobs.lua | 14 +- spawners_ores.lua | 284 ++++++++++++++++-- textures/spawners_smoke_particle.png | Bin 0 -> 233 bytes textures/spawners_spawner.png | Bin 453 -> 535 bytes textures/spawners_spawner_animated.png | Bin 2014 -> 18168 bytes textures/spawners_spawner_animated_v2.png | Bin 3706 -> 0 bytes textures/spawners_spawner_normal.png | Bin 4471 -> 7938 bytes textures/spawners_spawner_off_animated.png | Bin 499 -> 0 bytes .../spawners_spawner_waiting_animated.png | Bin 0 -> 4735 bytes 10 files changed, 275 insertions(+), 37 deletions(-) create mode 100644 textures/spawners_smoke_particle.png delete mode 100644 textures/spawners_spawner_animated_v2.png delete mode 100644 textures/spawners_spawner_off_animated.png create mode 100644 textures/spawners_spawner_waiting_animated.png diff --git a/API.lua b/API.lua index 6f1ccc5..0fce9e0 100644 --- a/API.lua +++ b/API.lua @@ -71,18 +71,18 @@ end function spawners.add_effects(pos, radius) minetest.add_particlespawner({ amount = 32, - time = .5, + time = 2, minpos = vector.subtract(pos, radius / 2), maxpos = vector.add(pos, radius / 2), - minvel = {x=-1, y=-10, z=-1}, - maxvel = {x=1, y=10, z=1}, + minvel = {x=-0.5, y=-10, z=-0.5}, + maxvel = {x=0.5, y=10, z=0.5}, minacc = vector.new(), maxacc = vector.new(), minexptime = .5, - maxexptime = 1, - minsize = 2, + maxexptime = 2, + minsize = .5, maxsize = 8, - texture = "smoke_particle.png", + texture = "spawners_smoke_particle.png", }) end @@ -127,8 +127,8 @@ function spawners.start_spawning_ores(pos, ore_name, sound_custom, spawners_pos) }) minetest.set_node(pos, {name=ore_name}) - print("#1 spawing "..ore_name.." at "..minetest.pos_to_string(pos)) spawners.add_effects(pos, 1) + print("#1 spawing "..ore_name.." at "..minetest.pos_to_string(pos)) end end diff --git a/spawners_mobs.lua b/spawners_mobs.lua index 4b9961c..788c32e 100644 --- a/spawners_mobs.lua +++ b/spawners_mobs.lua @@ -50,8 +50,8 @@ function spawners.create(mob_name, mod_prefix, size, offset, mesh, texture, nigh name = "spawners_spawner_animated.png", animation = { type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, + aspect_w = 32, + aspect_h = 32, length = 2.0 }, } @@ -76,11 +76,11 @@ function spawners.create(mob_name, mod_prefix, size, offset, mesh, texture, nigh sunlight_propagates = true, tiles = { { - name = "spawners_spawner_off_animated.png", + name = "spawners_spawner_waiting_animated.png", animation = { type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, + aspect_w = 32, + aspect_h = 32, length = 2.0 }, } @@ -140,8 +140,8 @@ function spawners.create(mob_name, mod_prefix, size, offset, mesh, texture, nigh minetest.register_abm({ nodenames = {"spawners:"..mod_prefix.."_"..mob_name.."_spawner", "spawners:"..mod_prefix.."_"..mob_name.."_spawner_active", "spawners:"..mod_prefix.."_"..mob_name.."_spawner_overheat", "spawners:"..mod_prefix.."_"..mob_name.."_spawner_waiting"}, neighbors = {"air"}, - interval = 10, - chance = 2, + interval = 10.0, + chance = 5, action = function(pos, node, active_object_count, active_object_count_wider) local random_pos, waiting = spawners.check_node_status(pos, mob_name, night_only) diff --git a/spawners_ores.lua b/spawners_ores.lua index cda234d..0bd6222 100644 --- a/spawners_ores.lua +++ b/spawners_ores.lua @@ -1,3 +1,214 @@ +-- +-- Formspecs +-- + +local function active_formspec(fuel_percent, item_percent) + local formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;fuel;3.5,1.5;1,1;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "button_exit[5,1.5;2,1;exit;Save]".. + "listring[current_name;fuel]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + return formspec +end + +local inactive_formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;fuel;3.5,1.5;1,1;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "button_exit[5,1.5;2,1;exit;Save]".. + "listring[current_name;fuel]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + +-- +-- Node callback functions that are the same for active and inactive furnace +-- + +function spawners.get_formspec(pos) + + -- Inizialize metadata + local meta = minetest.get_meta(pos) + + -- Inizialize inventory + local inv = meta:get_inventory() + for listname, size in pairs({ + fuel = 1, + }) do + if inv:get_size(listname) ~= size then + inv:set_size(listname, size) + end + end + + local fuellist = inv:get_list("fuel") + + -- + -- Cooking + -- + + -- Check if we have cookable content + -- local cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + -- local cookable = true + + -- if cooked.time == 0 then + -- cookable = false + -- end + + -- Check if we have enough fuel to burn + -- if fuel_time < fuel_totaltime then + -- -- The furnace is currently active and has enough fuel + -- fuel_time = fuel_time + 1 + + -- -- If there is a cookable item then check if it is ready yet + -- if cookable then + -- src_time = src_time + 1 + -- if src_time >= cooked.time then + -- -- Place result in dst list if possible + -- if inv:room_for_item("dst", cooked.item) then + -- inv:add_item("dst", cooked.item) + -- inv:set_stack("src", 1, aftercooked.items[1]) + -- src_time = 0 + -- end + -- end + -- end + -- else + -- -- Furnace ran out of fuel + -- if cookable then + -- -- We need to get new fuel + -- local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + + -- if fuel.time == 0 then + -- -- No valid fuel in fuel list + -- fuel_totaltime = 0 + -- fuel_time = 0 + -- src_time = 0 + -- else + -- -- Take fuel from fuel list + -- inv:set_stack("fuel", 1, afterfuel.items[1]) + + -- fuel_totaltime = fuel.time + -- fuel_time = 0 + + -- end + -- else + -- -- We don't need to get new fuel since there is no cookable item + -- fuel_totaltime = 0 + -- fuel_time = 0 + -- src_time = 0 + -- end + -- end + + -- + -- Update formspec, infotext and node + -- + local formspec = inactive_formspec + -- local item_state = "" + -- local item_percent = 0 + -- if cookable then + -- item_percent = math.floor(src_time / cooked.time * 100) + -- item_state = item_percent .. "%" + -- else + -- if srclist[1]:is_empty() then + -- item_state = "Empty" + -- else + -- item_state = "Not cookable" + -- end + -- end + + -- local fuel_state = "Empty" + -- local active = "inactive " + -- if fuel_time <= fuel_totaltime and fuel_totaltime ~= 0 then + -- active = "active " + -- local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) + -- fuel_state = fuel_percent .. "%" + -- formspec = active_formspec(fuel_percent, item_percent) + -- -- swap_node(pos, "default:furnace_active") + -- else + -- if not fuellist[1]:is_empty() then + -- fuel_state = "0%" + -- end + -- -- swap_node(pos, "default:furnace") + -- end + + -- local infotext = "Furnace " .. active .. "(Item: " .. item_state .. "; Fuel: " .. fuel_state .. ")" + + -- + -- Set meta values + -- + -- meta:set_float("fuel_totaltime", fuel_totaltime) + -- meta:set_float("fuel_time", fuel_time) + -- meta:set_float("src_time", src_time) + meta:set_string("formspec", formspec) + -- meta:set_string("infotext", infotext) +end + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("fuel") +end + +local function allow_metadata_inventory_put(pos, listname, index, stack, player) + print("allow_metadata_inventory_put") + print("listname: "..listname) + print("stack name: "..stack:get_name()) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local ingot = minetest.get_node_or_nil(pos).name + + ingot = string.split(ingot, ":") + ingot = string.split(ingot[2], "_") + + print("ingot 3: "..ingot[3]) + + if stack:get_name() == "default:"..ingot[3].."_ingot" then + if inv:is_empty("src") then + meta:set_string("infotext", "ore spawner is empty") + end + return stack:get_count() + else + return 0 + end +end + +local function allow_metadata_inventory_take(pos, listname, index, stack, player) + print("allow_metadata_inventory_take") + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + return stack:get_count() +end + +local function on_receive_fields(pos, formname, fields, sender) + print("on_receive_fields") + + if minetest.is_protected(pos, sender:get_player_name()) then + return 0 + end + + for k, v in ipairs(fields) do + print("k: "..k) + print("v: "..v) + end +end + +-- +-- Ores creation +-- + function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_custom) -- dummy inside the spawner local dummy_ore_definition = { @@ -24,7 +235,7 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ self.timer = self.timer + dtime local n = minetest.get_node_or_nil(self.object:getpos()) if self.timer > 2 then - if n and n.name and n.name ~= "spawners:"..ore_name.."_spawner_active" and n.name ~= "spawners:"..ore_name.."_spawner_waiting" then + if n and n.name and n.name ~= "spawners:"..ore_name.."_spawner_active" and n.name ~= "spawners:"..ore_name.."_spawner_waiting" and n.name ~= "spawners:"..ore_name.."_spawner" then self.object:remove() end end @@ -44,11 +255,11 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ sunlight_propagates = true, tiles = { { - name = "spawners_spawner_animated_v2.png", + name = "spawners_spawner_animated.png", animation = { type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, + aspect_w = 32, + aspect_h = 32, length = 2.0 }, } @@ -56,13 +267,19 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ is_ground_content = true, groups = {cracky=1,level=2,igniter=1,not_in_creative_inventory=1}, drop = "spawners:"..ore_name.."_spawner", - on_construct = function(pos) - pos.y = pos.y + offset - minetest.add_entity(pos,"spawners:dummy_ore_"..ore_name) - end, + -- on_construct = function(pos) + -- pos.y = pos.y + offset + -- minetest.add_entity(pos,"spawners:dummy_ore_"..ore_name) + -- end, + + can_dig = can_dig, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_take = allow_metadata_inventory_take, + on_receive_fields = on_receive_fields, }) - -- node spawner waiting for light - everything is ok but too much light or not enough light + -- node spawner waiting - no stone around or no fuel minetest.register_node("spawners:"..ore_name.."_spawner_waiting", { description = ore_name.." spawner waiting", paramtype = "light", @@ -73,11 +290,11 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ sunlight_propagates = true, tiles = { { - name = "spawners_spawner_off_animated.png", + name = "spawners_spawner_waiting_animated.png", animation = { type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, + aspect_w = 32, + aspect_h = 32, length = 2.0 }, } @@ -85,10 +302,16 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ is_ground_content = true, groups = {cracky=1,level=2,not_in_creative_inventory=1}, drop = "spawners:"..ore_name.."_spawner", - on_construct = function(pos) - pos.y = pos.y + offset - minetest.add_entity(pos,"spawners:dummy_ore_"..ore_name) - end, + -- on_construct = function(pos) + -- spawners.get_formspec(pos) + -- pos.y = pos.y + offset + -- minetest.add_entity(pos,"spawners:dummy_ore_"..ore_name) + -- end, + can_dig = can_dig, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_take = allow_metadata_inventory_take, + on_receive_fields = on_receive_fields, }) -- node spawner inactive (default) @@ -105,19 +328,32 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ on_construct = function(pos) local waiting, found_node = spawners.check_node_status_ores(pos, ore_name, "default:stone") + spawners.get_formspec(pos) + if found_node then - minetest.set_node(pos, {name="spawners:"..ore_name.."_spawner_active"}) + minetest.swap_node(pos, {name="spawners:"..ore_name.."_spawner_active"}) elseif waiting then - minetest.set_node(pos, {name="spawners:"..ore_name.."_spawner_waiting"}) + minetest.swap_node(pos, {name="spawners:"..ore_name.."_spawner_waiting"}) else end + + pos.y = pos.y + offset + minetest.add_entity(pos,"spawners:dummy_ore_"..ore_name) end, + + can_dig = can_dig, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_take = allow_metadata_inventory_take, + on_receive_fields = on_receive_fields, }) - -- abm + -- + -- ABM + -- minetest.register_abm({ nodenames = {"spawners:"..ore_name.."_spawner", "spawners:"..ore_name.."_spawner_active", "spawners:"..ore_name.."_spawner_waiting"}, - interval = 5, + interval = 5.0, chance = 5, action = function(pos, node, active_object_count, active_object_count_wider) @@ -128,7 +364,7 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ if found_node then -- make sure the right node status is shown if node.name ~= "spawners:"..ore_name.."_spawner_active" then - minetest.set_node(pos, {name="spawners:"..ore_name.."_spawner"}) + minetest.swap_node(pos, {name="spawners:"..ore_name.."_spawner"}) end -- enough place to spawn more ores @@ -137,7 +373,7 @@ function spawners.create_ore(ore_name, mod_prefix, size, offset, texture, sound_ else -- waiting status if node.name ~= "spawners:"..ore_name.."_spawner_waiting" then - minetest.set_node(pos, {name="spawners:"..ore_name.."_spawner_waiting"}) + minetest.swap_node(pos, {name="spawners:"..ore_name.."_spawner_waiting"}) end end @@ -149,10 +385,13 @@ end -- default:stone_with_gold spawners.create_ore("stone_with_gold", "", {x=.33,y=.33}, 0, {"default_stone.png^default_mineral_gold.png"}, "tnt_ignite") +-- default:stone_with_coal spawners.create_ore("stone_with_coal", "", {x=.33,y=.33}, 0, {"default_stone.png^default_mineral_gold.png"}, "tnt_ignite") +-- default:stone_with_iron spawners.create_ore("stone_with_iron", "", {x=.33,y=.33}, 0, {"default_stone.png^default_mineral_gold.png"}, "tnt_ignite") +-- default:stone_with_copper spawners.create_ore("stone_with_copper", "", {x=.33,y=.33}, 0, {"default_stone.png^default_mineral_gold.png"}, "tnt_ignite") @@ -192,4 +431,3 @@ minetest.register_craft({ {"default:diamondblock", "xpanes:bar", "default:diamondblock"}, } }) - diff --git a/textures/spawners_smoke_particle.png b/textures/spawners_smoke_particle.png new file mode 100644 index 0000000000000000000000000000000000000000..89d81c146dfc92d2528e05abcd0fa5892d1902a8 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL3?x0byx0z;*aCb)T!Hle|NocXoPQU{Vk`;r z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QL70(Y)*K0-AbW|YuPgflMtL3qew(+N z|A9g=o-U3d9M@gX9ppTqz{7e$zUswAK`XEDY;$2Nhwy?HIng8W`vuQD6r3zC@PVu0 z?t514Hxn-2Jkb)%QaB+p#8y0V;`zg7yA7ppFY9hA4w`GoJ$Y3@o9)W_qe@|aPx||P U4xd~x9cT}Or>mdKI;Vst0FT2;djJ3c literal 0 HcmV?d00001 diff --git a/textures/spawners_spawner.png b/textures/spawners_spawner.png index 06037b40a5cc29a20cc52be33d7889590121f698..dd6803e2a09e9d86afb0a935ba21f6e7f5680994 100644 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy_5nU2u0WbcLXk&OnNM1kPgY$( zQCCn&Pf*!FNX1Y{)mT`~L|ENSM8jNE(?U$wR$Sjf!oX3=#9i9VOU^b}!6E$a?TE)f zBN$79{DK)Ap4~_Tagw~{XE)7O>#0i!&( zi9wyt=Z8Q&fu1goAr_}=gBgXI6?n9njFw7!{rw+({lS9c@66tx2)cgRr1yy7PW9qv zCD*bABI84!Oz3{OD*aO(=fR~XnseR>o_=>-$}?=yn@%e!=6Ribe<#YC=b5ni`2C)z z^VHk1kx7Q{*7Mrl%}r7Z8Pv0#6{~DNoRIEitW><}x%zM~kacsr-OX7mayw+cUf!N~ zh3{1c&x-%2_&!>go{PJtv1qYZW5pcfvvKoQzOiC*S*E7NJ2C8e^pabSvb~I7MORDT zYhNF`VBwa;y!Th9WQwl{WoT=heRj${gDg>oi56$4oKM}#b)onF%~q}h2K&nwGFfEE zZCh`XW6S?*(;B@vo97Q7&0`n+AerW2{O#k6_ZdO%$quE$hyUDkUC{dftrKg@ozD{v z&uN!2xjK*OyUhoq=Z(`ht!9}1ODsn`?055}o7)q1Z>SROD*d{DU!K7u@4onW^BdAT X*Gl+rwz|6n7~Tw?u6{1-oD!M<)P>O2 literal 453 zcmV;$0XqJPP)pGQAtEWRCt`FQtfVnFcj?rY;GzFv>T;@1#2h>Hqn_adoU6n{p`oa z6`Wf#_oL~_>Bl|y+`|HyLKp|GG=y>R5(}xfP}K>O=Nw_)jLxItfV|uj$AobRx|a4! ze2wd|uXkXch!J!x<4V&7UDV$`m~(mNWJ+(CFm5C<%p2&UCh5y{1z{ZKT!L>tr3W&_ z{Zj^MkN<078gIe+%3Ntg#R0-NsJuY0Oc)1gkKjr}Ri}~Kk%^DeP=zpWepPTMG^xI+ z1!<26x|S{16Oc8Fm1s?za02*{f vSad;kbZBpK099;dVPqgvd2@7SZF4LjNp52<$sIm+00000NkvXXu0mjf4L89x diff --git a/textures/spawners_spawner_animated.png b/textures/spawners_spawner_animated.png index 1f7e27ab44aec282302c676c2ec679ccbd7372dd..cf0c2c3c409f654fa988226b014872c338e8474d 100644 GIT binary patch literal 18168 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 diff --git a/textures/spawners_spawner_animated_v2.png b/textures/spawners_spawner_animated_v2.png deleted file mode 100644 index 2393f0c7ce58f20632a64aa59e28b22fc0300f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3706 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 M7G(3srfy092Tza9DgXcg diff --git a/textures/spawners_spawner_normal.png b/textures/spawners_spawner_normal.png index 16cdf59c0318dc5ccf9c0e8f0db72b65bc493fb6..b102aa73a0122f9276d1193ef828512b46aa5851 100644 GIT binary patch literal 7938 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 RcUlcOb;9;I=9o*u{{xlO^hN*x literal 4471 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 N002ovPDHLkV1fdzfKvbf literal 0 HcmV?d00001