Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #186 from dacmot/update_hidroplane
Update hidroplane, airutils and add supercub
- Loading branch information
Showing
156 changed files
with
7,697 additions
and
2,322 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule airutils
updated
92 files
Submodule hidroplane
updated
43 files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,276 @@ | ||
---------- | ||
--biofuel | ||
---------- | ||
local S = airutils.S | ||
local module_name = "airutils" | ||
|
||
if minetest.get_modpath("technic") then | ||
if technic then | ||
technic.register_extractor_recipe({input = {"farming:wheat 33"}, output = "biofuel:biofuel 1"}) | ||
technic.register_extractor_recipe({input = {"farming:corn 33"}, output = "biofuel:biofuel 1"}) | ||
technic.register_extractor_recipe({input = {"farming:potato 33"}, output = "biofuel:biofuel 1"}) | ||
technic.register_extractor_recipe({input = {"default:papyrus 99"}, output = "biofuel:biofuel 1"}) | ||
end | ||
end | ||
|
||
|
||
if minetest.get_modpath("basic_machines") then | ||
if basic_machines then | ||
basic_machines.grinder_recipes["farming:wheat"] = {50,"biofuel:biofuel",1} | ||
basic_machines.grinder_recipes["farming:corn"] = {50,"biofuel:biofuel",1} | ||
basic_machines.grinder_recipes["farming:potato"] = {50,"biofuel:biofuel",1} | ||
basic_machines.grinder_recipes["default:papyrus"] = {70,"biofuel:biofuel",1} | ||
end | ||
end | ||
|
||
if minetest.get_modpath("default") then | ||
minetest.register_craft({ | ||
output = module_name .. ":biofuel_distiller", | ||
recipe = { | ||
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, | ||
{"default:steel_ingot" , "", "default:steel_ingot"}, | ||
{"default:steel_ingot" , "default:steel_ingot", "default:steel_ingot"}, | ||
}, | ||
}) | ||
end | ||
if minetest.get_modpath("mcl_core") then | ||
minetest.register_craft({ | ||
output = module_name .. ":biofuel_distiller", | ||
recipe = { | ||
{"mcl_copper:copper_ingot", "mcl_copper:copper_ingot", "mcl_copper:copper_ingot"}, | ||
{"mcl_core:iron_ingot" , "", "mcl_core:iron_ingot"}, | ||
{"mcl_core:iron_ingot" , "mcl_core:iron_ingot", "mcl_core:iron_ingot"}, | ||
}, | ||
}) | ||
end | ||
|
||
|
||
-- biofuel | ||
local new_gallon_id = "airutils:biofuel" | ||
minetest.register_craftitem(new_gallon_id,{ | ||
description = S("Bio Fuel"), | ||
inventory_image = "airutils_biofuel_inv.png", | ||
}) | ||
|
||
minetest.register_craft({ | ||
type = "fuel", | ||
recipe = new_gallon_id, | ||
burntime = 50, | ||
}) | ||
|
||
minetest.register_alias("biofuel:biofuel", new_gallon_id) --for the old biofuel | ||
|
||
local ferment = { | ||
{"default:papyrus", new_gallon_id}, | ||
{"farming:wheat", new_gallon_id}, | ||
{"farming:corn", new_gallon_id}, | ||
{"farming:baked_potato", new_gallon_id}, | ||
{"farming:potato", new_gallon_id} | ||
} | ||
|
||
local ferment_groups = {'flora', 'leaves', 'flower', 'sapling', 'tree', 'wood', 'stick', 'plant', 'seed', | ||
'leafdecay', 'leafdecay_drop', 'mushroom', 'vines' } | ||
|
||
-- distiller | ||
local biofueldistiller_formspec = "size[8,9]" | ||
.. "list[current_name;src;2,1;1,1;]" .. airutils.get_itemslot_bg(2, 1, 1, 1) | ||
.. "list[current_name;dst;5,1;1,1;]" .. airutils.get_itemslot_bg(5, 1, 1, 1) | ||
.. "list[current_player;main;0,5;8,4;]" .. airutils.get_itemslot_bg(0, 5, 8, 4) | ||
.. "listring[current_name;dst]" | ||
.. "listring[current_player;main]" | ||
.. "listring[current_name;src]" | ||
.. "listring[current_player;main]" | ||
.. "image[3.5,1;1,1;gui_furnace_arrow_bg.png^[transformR270]" | ||
|
||
minetest.register_node( module_name .. ":biofuel_distiller", { | ||
description = S("Biofuel Distiller"), | ||
tiles = {"airutils_black.png", "airutils_aluminum.png", "airutils_copper.png" }, | ||
drawtype = "mesh", | ||
mesh = "airutils_biofuel_distiller.b3d", | ||
paramtype = "light", | ||
paramtype2 = "facedir", | ||
groups = { | ||
choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 | ||
}, | ||
legacy_facedir_simple = true, | ||
|
||
on_place = minetest.rotate_node, | ||
|
||
on_construct = function(pos) | ||
|
||
local meta = minetest.get_meta(pos) | ||
|
||
meta:set_string("formspec", biofueldistiller_formspec) | ||
meta:set_string("infotext", S("Biofuel Distiller")) | ||
meta:set_float("status", 0.0) | ||
|
||
local inv = meta:get_inventory() | ||
|
||
inv:set_size("src", 1) | ||
inv:set_size("dst", 1) | ||
end, | ||
|
||
can_dig = function(pos,player) | ||
|
||
local meta = minetest.get_meta(pos) | ||
local inv = meta:get_inventory() | ||
|
||
if not inv:is_empty("dst") | ||
or not inv:is_empty("src") then | ||
return false | ||
end | ||
|
||
return true | ||
end, | ||
|
||
allow_metadata_inventory_take = function(pos, listname, index, stack, player) | ||
|
||
if minetest.is_protected(pos, player:get_player_name()) then | ||
return 0 | ||
end | ||
|
||
return stack:get_count() | ||
end, | ||
|
||
allow_metadata_inventory_put = function(pos, listname, index, stack, player) | ||
|
||
if minetest.is_protected(pos, player:get_player_name()) then | ||
return 0 | ||
end | ||
|
||
local meta = minetest.get_meta(pos) | ||
local inv = meta:get_inventory() | ||
|
||
if listname == "src" then | ||
return stack:get_count() | ||
elseif listname == "dst" then | ||
return 0 | ||
end | ||
end, | ||
|
||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) | ||
|
||
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 stack = inv:get_stack(from_list, from_index) | ||
|
||
if to_list == "src" then | ||
return count | ||
elseif to_list == "dst" then | ||
return 0 | ||
end | ||
end, | ||
|
||
on_metadata_inventory_put = function(pos) | ||
|
||
local timer = minetest.get_node_timer(pos) | ||
|
||
timer:start(5) | ||
end, | ||
|
||
on_timer = function(pos) | ||
|
||
local meta = minetest.get_meta(pos) ; if not meta then return end | ||
local inv = meta:get_inventory() | ||
|
||
-- is barrel empty? | ||
if not inv or inv:is_empty("src") then | ||
|
||
meta:set_float("status", 0.0) | ||
meta:set_string("infotext", S("Fuel Distiller")) | ||
|
||
return false | ||
end | ||
|
||
-- does it contain any of the source items on the list? | ||
local has_item | ||
|
||
--normal items | ||
for n = 1, #ferment do | ||
if inv:contains_item("src", ItemStack(ferment[n][1])) then | ||
has_item = n | ||
break | ||
end | ||
end | ||
|
||
--groups | ||
local has_group | ||
if not has_item then | ||
local inv_content = inv:get_list("src") | ||
if inv_content then | ||
for k, v in pairs(inv_content) do | ||
local item_name = v:get_name() | ||
for n = 1, #ferment_groups do | ||
if minetest.get_item_group(item_name, ferment_groups[n]) == 1 then | ||
has_group = n | ||
break | ||
end | ||
end | ||
end | ||
end | ||
end | ||
|
||
if not has_item and not has_group then | ||
return false | ||
end | ||
|
||
-- is there room for additional fermentation? | ||
if has_item and not inv:room_for_item("dst", ferment[has_item][2]) then | ||
meta:set_string("infotext", S("Fuel Distiller (FULL)")) | ||
return true | ||
end | ||
|
||
if has_group and not inv:room_for_item("dst", new_gallon_id) then | ||
meta:set_string("infotext", S("Fuel Distiller (FULL)")) | ||
return true | ||
end | ||
|
||
local status = meta:get_float("status") | ||
|
||
-- fermenting (change status) | ||
if status < 100 then | ||
meta:set_string("infotext", S("Fuel Distiller @1% done", status)) | ||
meta:set_float("status", status + 5) | ||
else | ||
if not has_group then | ||
inv:remove_item("src", ferment[has_item][1]) | ||
inv:add_item("dst", ferment[has_item][2]) | ||
else | ||
for i,itemstack in pairs(inv:get_list("src")) do | ||
inv:remove_item("src", ItemStack(itemstack:get_name().." 1")) | ||
end | ||
inv:add_item("dst", new_gallon_id) | ||
end | ||
|
||
meta:set_float("status", 0,0) | ||
end | ||
|
||
if inv:is_empty("src") then | ||
meta:set_float("status", 0.0) | ||
meta:set_string("infotext", S("Fuel Distiller")) | ||
end | ||
|
||
return true | ||
end, | ||
}) | ||
|
||
--lets remove the old one | ||
minetest.register_node(":".."biofuel:biofuel_distiller", { | ||
groups = {old_biofuel=1}, | ||
}) | ||
|
||
minetest.register_abm({ | ||
nodenames = {"group:old_biofuel"}, | ||
interval = 1, | ||
chance = 1, | ||
action = function(pos, node) | ||
--minetest.remove_node(pos) | ||
minetest.swap_node(pos,{name = module_name..":biofuel_distiller"}) | ||
end, | ||
}) | ||
|
||
|
Oops, something went wrong.