Adaption to Tubelib

This commit is contained in:
Joachim Stolberg 2017-09-09 19:00:47 +02:00
parent 6048624132
commit 01c817b48c

View File

@ -3,7 +3,7 @@
Gravel Sieve Mod Gravel Sieve Mod
================ ================
v1.02 by JoSt v1.04 by JoSt
Derived from the work of celeron55, Perttu Ahola (furnace) Derived from the work of celeron55, Perttu Ahola (furnace)
Copyright (C) 2017 Joachim Stolberg Copyright (C) 2017 Joachim Stolberg
@ -29,6 +29,7 @@
2017-07-09 V1.02 * Cobblestone bugfix (NathanSalapat) 2017-07-09 V1.02 * Cobblestone bugfix (NathanSalapat)
* ore_probability is now global accessable (bell07) * ore_probability is now global accessable (bell07)
2017-08-29 V1.03 * Fix syntax listring (Jat15) 2017-08-29 V1.03 * Fix syntax listring (Jat15)
2017-09-08 V1.04 * Adaption to Tubelib
]]-- ]]--
gravelsieve = { gravelsieve = {
@ -36,7 +37,7 @@ gravelsieve = {
dofile(minetest.get_modpath("gravelsieve") .. "/hammer.lua") dofile(minetest.get_modpath("gravelsieve") .. "/hammer.lua")
gravelsieve.ore_rarity = tonumber(minetest.setting_get("gravelsieve_ore_rarity")) or 1.0 gravelsieve.ore_rarity = tonumber(minetest.setting_get("gravelsieve_ore_rarity")) or 0.5
-- Ore probability table (1/n) -- Ore probability table (1/n)
@ -60,6 +61,9 @@ end
local sieve_formspec = local sieve_formspec =
"size[8,8]".. "size[8,8]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"list[context;src;1,1;1,1;]".. "list[context;src;1,1;1,1;]"..
"image[3,1;1,1;gui_furnace_arrow_bg.png^[transformR270]".. "image[3,1;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
"list[context;dst;4,0;4,3;]".. "list[context;dst;4,0;4,3;]"..
@ -182,6 +186,7 @@ local function sieve_node_timer(pos, elapsed)
end end
end end
for automatic = 0,1 do for automatic = 0,1 do
for idx = 0,4 do for idx = 0,4 do
local nodebox_data = { local nodebox_data = {
@ -257,6 +262,11 @@ for idx = 0,4 do
inv:set_size('dst', 12) inv:set_size('dst', 12)
end, end,
after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Gravel Sieve")
end,
on_metadata_inventory_move = function(pos) on_metadata_inventory_move = function(pos)
if automatic == 0 then if automatic == 0 then
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -321,6 +331,26 @@ for idx = 0,4 do
end end
end end
if tubelib then
local function get_items(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return tubelib.get_item(inv, "dst")
end
local function put_items(pos, items)
minetest.get_node_timer(pos):start(1.0)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return tubelib.put_item(inv, "src", items)
end
tubelib.register_item_functions("gravelsieve:auto_sieve0", put_items, get_items)
tubelib.register_item_functions("gravelsieve:auto_sieve1", put_items, get_items)
tubelib.register_item_functions("gravelsieve:auto_sieve2", put_items, get_items)
tubelib.register_item_functions("gravelsieve:auto_sieve3", put_items, get_items)
end
minetest.register_node("gravelsieve:sieved_gravel", { minetest.register_node("gravelsieve:sieved_gravel", {
description = "Sieved Gravel", description = "Sieved Gravel",
tiles = {"default_gravel.png"}, tiles = {"default_gravel.png"},