diff options
| author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-06-17 19:34:42 -0400 | 
|---|---|---|
| committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-06-17 19:34:42 -0400 | 
| commit | 3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa (patch) | |
| tree | 8578a1384609de55b26936b8be17891b9eae78cc /farming | |
| parent | 75e0a665ce2a45e1158a427d3f70f854f5f4d5a8 (diff) | |
| download | dreambuilder_modpack-3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa.tar dreambuilder_modpack-3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa.tar.gz dreambuilder_modpack-3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa.tar.bz2 dreambuilder_modpack-3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa.tar.xz dreambuilder_modpack-3c3be04962a8c06ce9b5956e5799cdf3bbecf2aa.zip | |
update castle modpack, areas, blox, boost_cart, currency, farming redo, homedecor, and pipeworks
Diffstat (limited to 'farming')
| -rw-r--r-- | farming/grapes.lua | 81 | 
1 files changed, 52 insertions, 29 deletions
| diff --git a/farming/grapes.lua b/farming/grapes.lua index e4381e9..9070d0e 100644 --- a/farming/grapes.lua +++ b/farming/grapes.lua @@ -1,46 +1,69 @@  local S = farming.intllib --- grapes -minetest.register_craftitem("farming:grapes", { -	description = S("Grapes"), -	inventory_image = "farming_grapes.png", -	on_use = minetest.item_eat(2), +-- place trellis +function place_grapes(itemstack, placer, pointed_thing, plantname) -	on_place = function(itemstack, placer, pointed_thing) +	local pt = pointed_thing -		if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then -			return -		end +	-- check if pointing at a node +	if not pt or pt.type ~= "node" then -		local nodename = minetest.get_node(pointed_thing.under).name +		return +	end -		if nodename == "farming:trellis" then -			minetest.set_node(pointed_thing.under, {name = "farming:grapes_1"}) +	local under = minetest.get_node(pt.under) -			minetest.sound_play("default_place_node", {pos = pointed_thing.above, gain = 1.0}) -		else -			return -		end +	-- return if any of the nodes are not registered +	if not minetest.registered_nodes[under.name] then +		return +	end -		if not minetest.setting_getbool("creative_mode") then +	-- am I right-clicking on something that has a custom on_place set? +	-- thanks to Krock for helping with this issue :) +	local def = minetest.registered_nodes[under.name] +	if def and def.on_rightclick then +		return def.on_rightclick(pt.under, under, placer, itemstack) +	end -			itemstack:take_item() +	-- check if pointing at trellis +	if under.name ~= "farming:trellis" then +		return +	end -			-- check for refill -			if itemstack:get_count() == 0 then +	-- add the node and remove 1 item from the itemstack +	minetest.set_node(pt.under, {name = plantname}) -				minetest.after(0.20, -					farming.refill_plant, -					placer, -					"farming:grapes", -					placer:get_wield_index() -				) -			end -		end +	minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0}) -		return itemstack +	if not minetest.setting_getbool("creative_mode") then + +		itemstack:take_item() + +		-- check for refill +		if itemstack:get_count() == 0 then + +			minetest.after(0.20, +				farming.refill_plant, +				placer, +				"farming:grapes", +				placer:get_wield_index() +			) +		end  	end + +	return itemstack +end + +-- grapes +minetest.register_craftitem("farming:grapes", { +	description = S("Grapes"), +	inventory_image = "farming_grapes.png", +	on_use = minetest.item_eat(2), + +	on_place = function(itemstack, placer, pointed_thing) +		return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1") +	end,  })  -- grapes can be used for violet dye | 
