From 2d68498dc10bc74a35a5cc0ff4e81b6640807511 Mon Sep 17 00:00:00 2001 From: kpoppel <poulsen.kim@gmail.com> Date: Wed, 08 May 2013 01:42:22 +0200 Subject: [PATCH] Massive change to the way CNC programs are registered. Now the API is open for adding new nodes and inhibiting some nodes for some materials. No more recipes outside of the CNC machine. --- technic/cans.lua | 56 +++++++------------------------------------------------- 1 files changed, 7 insertions(+), 49 deletions(-) diff --git a/technic/cans.lua b/technic/cans.lua index d50a621..78ff413 100644 --- a/technic/cans.lua +++ b/technic/cans.lua @@ -77,19 +77,20 @@ stack_max = 1, liquids_pointable = true, on_use = function(itemstack, user, pointed_thing) - + if pointed_thing.type ~= "node" then return end + n = minetest.env:get_node(pointed_thing.under) item=itemstack:to_table() local load=nil if item["metadata"]=="" then load=0 else load=tonumber(item["metadata"]) end - if n.name == "default:water_source" then + if n.name == "default:lava_source" then if load+1<17 then minetest.env:add_node(pointed_thing.under, {name="air"}) - load=load+1; + load=load+1; item["metadata"]=tostring(load) - set_RE_wear(item,load,water_can_max_load) + set_RE_wear(item,load,lava_can_max_load) itemstack:replace(item) end return itemstack @@ -101,7 +102,7 @@ minetest.env:add_node(pointed_thing.under, {name="default:lava_source"}) load=load-1; item["metadata"]=tostring(load) - set_RE_wear(item,load,water_can_max_load) + set_RE_wear(item,load,lava_can_max_load) itemstack:replace(item) return itemstack end @@ -111,52 +112,9 @@ minetest.env:add_node(pointed_thing.above, {name="default:lava_source"}) load=load-1; item["metadata"]=tostring(load) - set_RE_wear(item,load,water_can_max_load) + set_RE_wear(item,load,lava_can_max_load) itemstack:replace(item) return itemstack end - - if pointed_thing.type ~= "node" then - return end - - n = minetest.env:get_node(pointed_thing.under) - if n.name == "default:lava_source" then - item=itemstack:to_table() - local load=tonumber((item["wear"])) - if load==0 then load =65535 end - load=get_RE_item_load(load,lava_can_max_load) - if load+1<9 then - minetest.env:add_node(pointed_thing.under, {name="air"}) - load=load+1; - load=set_RE_item_load(load,lava_can_max_load) - item["wear"]=tostring(load) - itemstack:replace(item) - end - return itemstack - end - item=itemstack:to_table() - load=tonumber((item["wear"])) - if load==0 then load =65535 end - load=get_RE_item_load(load,lava_can_max_load) - if load==0 then return end - - if n.name == "default:lava_flowing" then - minetest.env:add_node(pointed_thing.under, {name="default:lava_source"}) - load=load-1; - load=set_RE_item_load(load,lava_can_max_load) - item["wear"]=tostring(load) - itemstack:replace(item) - return itemstack - end - - n = minetest.env:get_node(pointed_thing.above) - if n.name == "air" then - minetest.env:add_node(pointed_thing.above, {name="default:lava_source"}) - load=load-1; - load=set_RE_item_load(load,lava_can_max_load) - item["wear"]=tostring(load) - itemstack:replace(item) - return itemstack - end end, }) -- Gitblit v1.8.0