2019-03-08 02:00:09 +03:00
local S = minetest.get_translator ( " mcl_farming " )
2017-04-01 05:20:02 +03:00
-- Premature potato plants
2015-06-29 20:55:56 +03:00
2017-04-01 05:20:02 +03:00
for i = 1 , 7 do
local texture , selbox
if i < 3 then
texture = " mcl_farming_potatoes_stage_0.png "
selbox = { - 0.5 , - 0.5 , - 0.5 , 0.5 , - 5 / 16 , 0.5 }
elseif i < 5 then
texture = " mcl_farming_potatoes_stage_1.png "
selbox = { - 0.5 , - 0.5 , - 0.5 , 0.5 , - 2 / 16 , 0.5 }
else
texture = " mcl_farming_potatoes_stage_2.png "
selbox = { - 0.5 , - 0.5 , - 0.5 , 0.5 , 2 / 16 , 0.5 }
end
local create , name , longdesc
if i == 1 then
create = true
2019-03-08 02:00:09 +03:00
name = S ( " Premature Potato Plant " )
2019-03-15 05:41:24 +03:00
longdesc = S ( " Potato plants are plants which grow on farmland under sunlight in 8 stages, but only 4 stages can be visually told apart. On hydrated farmland, they grow a bit faster. They can be harvested at any time but will only yield a profit when mature. " )
2017-04-01 05:20:02 +03:00
else
create = false
if minetest.get_modpath ( " doc " ) then
doc.add_entry_alias ( " nodes " , " mcl_farming:potato_1 " , " nodes " , " mcl_farming:potato_ " .. i )
end
end
minetest.register_node ( " mcl_farming:potato_ " .. i , {
2019-03-08 02:00:09 +03:00
description = S ( " Premature Potato Plant (Stage @1) " , i ) ,
2017-04-01 05:20:02 +03:00
_doc_items_create_entry = create ,
_doc_items_entry_name = name ,
_doc_items_longdesc = longdesc ,
paramtype = " light " ,
paramtype2 = " meshoptions " ,
sunlight_propagates = true ,
place_param2 = 3 ,
walkable = false ,
drawtype = " plantlike " ,
drop = " mcl_farming:potato_item " ,
tiles = { texture } ,
2018-10-24 19:16:39 +03:00
inventory_image = texture ,
wield_image = texture ,
2017-04-01 05:20:02 +03:00
selection_box = {
type = " fixed " ,
fixed = { selbox } ,
2015-06-29 20:55:56 +03:00
} ,
2017-05-20 05:11:14 +03:00
groups = { dig_immediate = 3 , not_in_creative_inventory = 1 , plant = 1 , attached_node = 1 , dig_by_water = 1 , destroy_by_lava_flow = 1 , dig_by_piston = 1 } ,
2017-04-01 05:20:02 +03:00
sounds = mcl_sounds.node_sound_leaves_defaults ( ) ,
_mcl_blast_resistance = 0 ,
} )
end
2015-06-29 20:55:56 +03:00
2017-04-01 05:20:02 +03:00
-- Mature plant
2017-01-31 14:35:59 +03:00
minetest.register_node ( " mcl_farming:potato " , {
2019-03-08 02:00:09 +03:00
description = S ( " Mature Potato Plant " ) ,
_doc_items_longdesc = S ( " Mature potato plants are ready to be harvested for potatoes. They won't grow any further. " ) ,
2015-06-29 20:55:56 +03:00
paramtype = " light " ,
2017-03-15 00:01:41 +03:00
paramtype2 = " meshoptions " ,
2017-03-20 20:51:40 +03:00
sunlight_propagates = true ,
2017-03-15 00:01:41 +03:00
place_param2 = 3 ,
2015-06-29 20:55:56 +03:00
walkable = false ,
drawtype = " plantlike " ,
2017-04-01 05:20:02 +03:00
tiles = { " mcl_farming_potatoes_stage_3.png " } ,
2018-10-24 19:16:39 +03:00
wield_image = " mcl_farming_potatoes_stage_3.png " ,
inventory_image = " mcl_farming_potatoes_stage_3.png " ,
2015-06-29 20:55:56 +03:00
drop = {
items = {
2017-02-22 16:25:54 +03:00
{ items = { ' mcl_farming:potato_item 1 ' } } ,
{ items = { ' mcl_farming:potato_item 1 ' } , rarity = 2 } ,
{ items = { ' mcl_farming:potato_item 1 ' } , rarity = 2 } ,
{ items = { ' mcl_farming:potato_item 1 ' } , rarity = 2 } ,
{ items = { ' mcl_farming:potato_item_poison 1 ' } , rarity = 50 }
2015-06-29 20:55:56 +03:00
}
} ,
2017-04-01 05:20:02 +03:00
selection_box = {
type = " fixed " ,
fixed = {
{ - 0.5 , - 0.5 , - 0.5 , 0.5 , 1 / 16 , 0.5 }
}
} ,
2017-05-20 05:11:14 +03:00
groups = { dig_immediate = 3 , not_in_creative_inventory = 1 , plant = 1 , attached_node = 1 , dig_by_water = 1 , destroy_by_lava_flow = 1 , dig_by_piston = 1 } ,
2017-02-11 20:46:23 +03:00
sounds = mcl_sounds.node_sound_leaves_defaults ( ) ,
2017-02-22 18:03:59 +03:00
_mcl_blast_resistance = 0 ,
2015-06-29 20:55:56 +03:00
} )
2017-01-31 14:35:59 +03:00
minetest.register_craftitem ( " mcl_farming:potato_item " , {
2019-03-08 02:00:09 +03:00
description = S ( " Potato " ) ,
_doc_items_longdesc = S ( " Potatoes are food items which can be eaten, cooked in the furnace and planted. Pigs like potatoes. " ) ,
_doc_items_usagehelp = S ( " Hold it in your hand and rightclick to eat it. Place it on top of farmland to plant it. It grows in sunlight and grows faster on hydrated farmland. Rightclick an animal to feed it. " ) ,
2015-06-29 20:55:56 +03:00
inventory_image = " farming_potato.png " ,
2017-01-16 16:29:41 +03:00
groups = { food = 2 , eatable = 1 } ,
2017-05-20 18:45:04 +03:00
_mcl_saturation = 0.6 ,
2015-06-29 20:55:56 +03:00
stack_max = 64 ,
2017-02-16 19:45:33 +03:00
on_secondary_use = minetest.item_eat ( 1 ) ,
2015-06-29 20:55:56 +03:00
on_place = function ( itemstack , placer , pointed_thing )
2017-02-16 19:45:33 +03:00
local new = mcl_farming : place_seed ( itemstack , placer , pointed_thing , " mcl_farming:potato_1 " )
if new ~= nil then
return new
else
return minetest.do_item_eat ( 1 , nil , itemstack , placer , pointed_thing )
end
2015-06-29 20:55:56 +03:00
end ,
} )
2017-01-31 14:35:59 +03:00
minetest.register_craftitem ( " mcl_farming:potato_item_baked " , {
2019-03-08 02:00:09 +03:00
description = S ( " Baked Potato " ) ,
_doc_items_longdesc = S ( " Baked potatoes are food items which are more filling than the unbaked ones. " ) ,
2015-06-29 20:55:56 +03:00
stack_max = 64 ,
inventory_image = " farming_potato_baked.png " ,
2017-05-21 04:26:51 +03:00
on_place = minetest.item_eat ( 5 ) ,
on_secondary_use = minetest.item_eat ( 5 ) ,
groups = { food = 2 , eatable = 5 } ,
2017-05-20 18:45:04 +03:00
_mcl_saturation = 6.0 ,
2015-06-29 20:55:56 +03:00
} )
2017-01-31 14:35:59 +03:00
minetest.register_craftitem ( " mcl_farming:potato_item_poison " , {
2019-03-08 02:00:09 +03:00
description = S ( " Poisonous Potato " ) ,
_doc_items_longdesc = S ( " This potato doesn't look too healthy. You can eat it to restore hunger points, but there's a 60% chance it will poison you briefly. " ) ,
2015-06-29 20:55:56 +03:00
stack_max = 64 ,
inventory_image = " farming_potato_poison.png " ,
2017-02-28 06:53:52 +03:00
-- TODO: Cause status effects
2017-05-21 01:43:30 +03:00
on_place = minetest.item_eat ( 2 ) ,
on_secondary_use = minetest.item_eat ( 2 ) ,
groups = { food = 2 , eatable = 2 } ,
2017-05-20 18:45:04 +03:00
_mcl_saturation = 1.2 ,
2015-06-29 20:55:56 +03:00
} )
minetest.register_craft ( {
type = " cooking " ,
2017-01-31 14:35:59 +03:00
output = " mcl_farming:potato_item_baked " ,
recipe = " mcl_farming:potato_item " ,
2017-02-01 21:15:49 +03:00
cooktime = 10 ,
2015-06-29 20:55:56 +03:00
} )
2017-04-01 05:46:15 +03:00
mcl_farming : add_plant ( " plant_potato " , " mcl_farming:potato " , { " mcl_farming:potato_1 " , " mcl_farming:potato_2 " , " mcl_farming:potato_3 " , " mcl_farming:potato_4 " , " mcl_farming:potato_5 " , " mcl_farming:potato_6 " , " mcl_farming:potato_7 " } , 19.75 , 20 )
2017-04-01 05:20:02 +03:00
2017-03-21 06:56:16 +03:00