From 579f42cdbea2ab748f50cfcb0d20324b52ff59a0 Mon Sep 17 00:00:00 2001 From: ademant Date: Wed, 10 Oct 2018 14:37:07 +0200 Subject: [PATCH] added urtica #1 which can be used to cure infected plants #4 --- craft.lua | 38 +++++++++------ crops.csv | 54 ++++++++++---------- crops.lua | 49 +++++++++++-------- register.lua | 65 ++++++++++++++++++------- textures/farming_hop_1.png | Bin 136 -> 142 bytes textures/farming_soil.png | Bin 618 -> 394 bytes textures/farming_soil_wet.png | Bin 609 -> 419 bytes textures/farming_tool_glass_urtica.png | Bin 0 -> 184 bytes textures/farming_tool_glass_water.png | Bin 0 -> 180 bytes textures/farming_tool_trellis.png | Bin 0 -> 136 bytes textures/farming_urtica_1.png | Bin 0 -> 114 bytes textures/farming_urtica_2.png | Bin 0 -> 152 bytes textures/farming_urtica_3.png | Bin 0 -> 170 bytes textures/farming_urtica_4.png | Bin 0 -> 193 bytes textures/farming_urtica_5.png | Bin 0 -> 193 bytes textures/farming_urtica_seed.png | Bin 0 -> 131 bytes utensils.lua | 17 ++++++- 17 files changed, 143 insertions(+), 80 deletions(-) create mode 100644 textures/farming_tool_glass_urtica.png create mode 100644 textures/farming_tool_glass_water.png create mode 100755 textures/farming_tool_trellis.png create mode 100644 textures/farming_urtica_1.png create mode 100644 textures/farming_urtica_2.png create mode 100644 textures/farming_urtica_3.png create mode 100644 textures/farming_urtica_4.png create mode 100644 textures/farming_urtica_5.png create mode 100644 textures/farming_urtica_seed.png diff --git a/craft.lua b/craft.lua index 7a21d08..db9bbc5 100644 --- a/craft.lua +++ b/craft.lua @@ -1,8 +1,20 @@ local S = farming.intllib local modname=minetest.get_current_modname() +-- generate "seed" out of harvest and trellis +farming.trellis_seed = function(grain_name) + local mname = grain_name:split(":")[1] + local pname = grain_name:split(":")[2] + minetest.register_craft({ + type = "shapeless", + output = mname..":seed_"..pname.." 1", + recipe = { + modname..":trellis",grain_name + }, + }) +end -- define seed crafting -local function seed_craft(grain_name) +function farming.seed_craft(grain_name) local mname = grain_name:split(":")[1] local pname = grain_name:split(":")[2] @@ -15,16 +27,6 @@ local function seed_craft(grain_name) replacements = {{"group:food_flail", modname..":flail"}, {"group:food_wheat","farming:straw"}}, }) - minetest.register_craft({ - type = "shapeless", - output = mname..":seed_"..pname.." 1", - recipe = { - grain_name, modname..":flail" - }, - replacements = {{"group:food_flail", modname..":flail"}, - {"group:food_wheat","farming:straw"}}, - additional_wear=0.5, - }) minetest.register_craft({ type = "shapeless", output = mname..":seed_"..pname.." 1", @@ -58,9 +60,6 @@ minetest.register_craft({ replacements = {{"group:food_mortar_pestle", modname..":mortar_pestle"}}, }) -seed_craft("farming:wheat") -seed_craft("farming:culturewheat") -seed_craft("farming:barley") roast_seed("farming:seed_barley","farming:seed_barley_roasted") roast_seed("farming:seed_wheat","farming_grain:seed_wheat_roasted") @@ -104,3 +103,14 @@ minetest.register_craftitem("farming:flour", { groups = {food_flour = 1, flammable = 1}, }) +minetest.register_craftitem(modname..":urtica_water",{ + description = "Urtica Water", + inventory_image = "farming_tool_glass_urtica.png", + groups = {desinfect = 1} +}) +minetest.register_craft({ + output=modname..":urtica_water 10", + type = "shapeless", + recipe {"vessels:glass_bottle 10","bucket_water",modname..":urtica"} + replacements = {{"bucket_water", "bucket_empty"}} +}) diff --git a/crops.csv b/crops.csv index e854e7e..b823005 100644 --- a/crops.csv +++ b/crops.csv @@ -1,27 +1,27 @@ -#name,enabled,next_plant,rarety,steps,harvest_max,eat_hp,to_culture,to_dig,has_harvest,on_soil,punchable,infectable,seed_extractable,snappy,temperature_min,temperature_max,humidity_min,humidity_max,elevation_min,elevation_max,light_min,light_max,infect_rate_base,infect_rate_monoculture,spread_rate -default,1,,10,8,2,1,,,,,,,,3,15,50,10,50,0,31000,11,14,1E-05,0.001,0.001 -barley,1,,10,7,2,1,,,1,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -beetroot,1,,10,5,2,2,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -blackberry,1,,10,4,2,1,,,,,1,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -blueberry,1,,10,4,2,1,,,,,1,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -carrot,1,,10,8,2,2,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -chili,1,,20,8,2,1,,,,,1,,,3,25,50,10,50,50,1000,11,14,1E-05,0.001,0.001 -coffee,1,,20,5,2,1,,,,,1,,,3,25,50,10,50,50,1000,11,14,1E-05,0.001,0.001 -cocoa,1,,20,4,2,1,,,,,1,,,3,25,50,10,50,50,1000,11,14,1E-05,0.001,0.001 -corn,1,,10,8,2,2,,,,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -cotton,1,,10,8,2,2,,,1,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -culturewheat,1,,100,4,2,1,1,,1,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -garlic,,,10,5,2,2,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -hemp,,,10,8,2,2,,,1,1,,1,,3,,50,10,50,0,100,11,14,1E-05,0.001,0.001 -hop,1,,10,7,2,1,,,1,1,1,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -mustard,1,,10,5,2,1,,,1,,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -potato,1,,10,4,2,2,,,,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -raspberry,1,,10,4,2,1,,,,,1,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -rhubarb,1,,10,3,2,2,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -spelt,1,,10,7,2,1,,,1,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -strawberry,1,,10,4,2,1,,,,,1,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -tea,,,20,5,2,1,,,,,1,,1,3,25,50,10,50,50,,11,14,1E-05,0.001,0.001 -tobaco,,,10,8,2,2,,,,1,,1,1,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 -tomato,1,,10,8,2,1,,,1,1,1,1,,3,,50,10,50,0,100,11,14,1E-05,0.001,0.001 -urtica,,,10,8,2,1,,,1,,,,,3,15,50,10,50,0,200,11,14,1E-05,0.001,0.01 -wheat,1,culturewheat,10,8,2,1,,,1,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +#name,enabled,next_plant,rarety,steps,harvest_max,eat_hp,to_culture,to_dig,has_harvest,on_soil,punchable,infectable,seed_extractable,use_flail,use_trellis,snappy,temperature_min,temperature_max,humidity_min,humidity_max,elevation_min,elevation_max,light_min,light_max,infect_rate_base,infect_rate_monoculture,spread_rate +default,1,,10,8,2,1,,,,,,,,,,3,15,50,10,50,0,31000,11,14,1E-05,0.001,0.001 +barley,1,,10,7,2,1,,,1,1,,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +beetroot,1,,10,5,2,2,,1,,1,,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +blackberry,1,,10,4,2,1,,,,,1,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +blueberry,1,,10,4,2,1,,,,,1,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +carrot,1,,10,8,2,2,,1,,1,,,,,,3,15,50,10,50,0,100,8,14,1E-05,0.001,0.001 +chili,1,,20,8,2,1,,,,,1,,,,,3,25,50,10,50,50,1000,11,14,1E-05,0.001,0.001 +coffee,1,,20,5,2,1,,,,,1,,,,,3,50,120,40,150,50,1000,12,14,1E-05,0.001,0.001 +cocoa,1,,20,4,2,1,,,,,1,,,,,3,50,120,40,150,50,1000,12,14,1E-05,0.001,0.001 +corn,1,,10,8,2,2,,,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +cotton,1,,10,8,2,2,,,1,1,,1,,1,,3,15,50,10,50,0,100,12,14,1E-05,0.001,0.001 +culturewheat,1,,100,4,2,1,1,,1,1,,1,,1,,3,15,50,10,50,0,100,10,14,1E-05,0.001,0.001 +garlic,,,10,5,2,2,,1,,1,,,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +hemp,1,,10,8,2,2,,,1,1,,,,1,,3,15,120,10,90,0,100,6,14,1E-05,0.001,1E-05 +hop,1,,10,7,2,1,,,1,1,1,1,,,1,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +mustard,1,,10,5,2,1,,,,,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +potato,1,,10,4,2,2,,,,1,,1,,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +raspberry,1,,10,4,2,1,,,,,1,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +rhubarb,1,,10,3,2,2,,1,,1,,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +spelt,1,,10,7,2,1,,,1,1,,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +strawberry,1,,10,4,2,1,,,,,1,,,,,3,15,50,10,50,0,100,9,14,1E-05,0.001,0.001 +tea,,,20,5,2,1,,,,,1,,1,,,3,30,70,30,70,50,100,11,14,1E-05,0.001,0.001 +tobaco,,,10,8,2,2,,,,1,,1,1,,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +tomato,1,,10,8,2,1,,,1,1,1,1,,,1,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 +urtica,1,,10,5,2,1,,,1,,,,,1,,3,5,150,10,100,0,2000,6,14,1E-05,0.001,0.001 +wheat,1,culturewheat,10,8,2,1,,,1,1,,1,,1,,3,15,50,10,50,0,100,11,14,1E-05,0.001,0.001 diff --git a/crops.lua b/crops.lua index ec742ac..598c394 100644 --- a/crops.lua +++ b/crops.lua @@ -8,7 +8,7 @@ local crop_definition = {} local file = io.open(farming.path .. "/crops.csv", "r") for line in file:lines() do local attribs = line:split(",", true) - local name,enabled,next_plant,rarety,steps,harvest_max,eat_hp,to_culture,to_dig,has_harvest,on_soil,punchable,infectable,seed_extractable,snappy,temperature_min,temperature_max,humidity_min,humidity_max,elevation_min,elevation_max,light_min,light_max,infect_rate_base,infect_rate_monoculture,spread_rate = unpack(attribs) + local name,enabled,next_plant,rarety,steps,harvest_max,eat_hp,to_culture,to_dig,has_harvest,on_soil,punchable,infectable,seed_extractable,use_flail,use_trellis,snappy,temperature_min,temperature_max,humidity_min,humidity_max,elevation_min,elevation_max,light_min,light_max,infect_rate_base,infect_rate_monoculture,spread_rate = unpack(attribs) if #name > 0 and name:sub(1,1) ~= "#" and #enabled > 0 and #steps > 0 then crop_definition[name]={ paramtype2 = "meshoptions", @@ -17,18 +17,20 @@ for line in file:lines() do groups = {farming=1}, mod_name=minetest.get_current_modname(), steps = tonumber(steps), - grow_time_mean=tonumber(grow_time_mean), - harvest_max=tonumber(harvest_max), - light_min=tonumber(light_min), - light_max=tonumber(light_max) or default.LIGHT_MAX, - temperature_min=tonumber(temperature_min), - temperature_max=tonumber(temperature_max), - humidity_min=tonumber(humidity_min), - humidity_max=tonumber(humidity_max), - elevation_min=tonumber(elevation_min), - elevation_max=tonumber(elevation_max), + environment={ + grow_time_mean=tonumber(grow_time_mean), + harvest_max=tonumber(harvest_max), + light_min=tonumber(light_min), + light_max=tonumber(light_max) or default.LIGHT_MAX, + temperature_min=tonumber(temperature_min), + temperature_max=tonumber(temperature_max), + humidity_min=tonumber(humidity_min), + humidity_max=tonumber(humidity_max), + elevation_min=tonumber(elevation_min), + elevation_max=tonumber(elevation_max), + rarety=tonumber(rarety), + }, name=name, - rarety=tonumber(rarety), description=S(name), eat_hp=tonumber(eat_hp), next_plant=next_plant, @@ -59,6 +61,12 @@ for line in file:lines() do if #seed_extractable > 0 then crop_definition[name].groups["seed_extractable"]=tonumber(seed_extractable) end + if #use_flail > 0 then + crop_definition[name].groups["use_flail"]=tonumber(use_flail) + end + if #use_trellis > 0 then + crop_definition[name].groups["use_trellis"]=tonumber(use_trellis) + end if #snappy > 0 then crop_definition[name].groups["snappy"]=tonumber(snappy) else @@ -66,6 +74,7 @@ for line in file:lines() do end end end +file:close() -- voids are filled from default if crop_definition["default"]~=nil then @@ -75,8 +84,8 @@ if crop_definition["default"]~=nil then local tdef_name = tdef.name for _,colu in ipairs({"rarety","harvest_max","temperature_min","temperature_max", "humidity_min","humidity_max","elevation_min","elevation_max"}) do - if crop_definition[tdef_name][colu] == nil then - crop_definition[tdef_name][colu] = default_def[colu] + if crop_definition[tdef_name].environment[colu] == nil then + crop_definition[tdef_name].environment[colu] = default_def.environment[colu] end end if crop_definition[tdef_name].infect.base_rate == nil then @@ -89,12 +98,12 @@ if crop_definition["default"]~=nil then crop_definition[tdef_name].spread.base_rate = default_def.spread.base_rate or 0.001 end biom_def={ - min_temp=crop_definition[tdef_name].temperature_min, - max_temp=crop_definition[tdef_name].temperature_max, - min_humidity=crop_definition[tdef_name].humidity_min, - max_humidity=crop_definition[tdef_name].humidity_max, - spawnon={spawn_min=crop_definition[tdef_name].elevation_min, - spawn_max=crop_definition[tdef_name].elevation_max, + min_temp=crop_definition[tdef_name].environment.temperature_min, + max_temp=crop_definition[tdef_name].environment.temperature_max, + min_humidity=crop_definition[tdef_name].environment.humidity_min, + max_humidity=crop_definition[tdef_name].environment.humidity_max, + spawnon={spawn_min=crop_definition[tdef_name].environment.elevation_min, + spawn_max=crop_definition[tdef_name].environment.elevation_max, },} crop_definition[tdef_name].biomes=farming.get_biomes(biom_def) end diff --git a/register.lua b/register.lua index a95a04e..c260fae 100644 --- a/register.lua +++ b/register.lua @@ -2,14 +2,20 @@ local S = farming.intllib -- function to check definition -- and set to defaults values local register_plant_check_def = function(def) - local default_def={temperature_min=0,temperature_max=100,humidity_min=0,humidity_max=100, - elevation_min=0,elevation_max=31000,light_min=10,light_max=default.LIGHT_MAX,rarety=10,harvest_max=2, - place_param2 = 3,grow_time_mean=120,mod_name=minetest.get_current_modname()} + local default_def={harvest_max=2,place_param2 = 3,mod_name=minetest.get_current_modname()} for dn,dv in pairs(default_def) do if def[dn] == nil then def[dn] = dv end end + local default_env={temperature_min=0,temperature_max=100,humidity_min=0,humidity_max=100, + elevation_min=0,elevation_max=31000,light_min=10,light_max=default.LIGHT_MAX,rarety=10, + grow_time_mean=120} + for dn,dv in pairs(default_env) do + if def.environment[dn] == nil then + def.environment[dn] = dv + end + end if not def.description then def.description = "Seed" end @@ -35,8 +41,8 @@ local register_plant_check_def = function(def) else def.infect = nil end - def.grow_time_min=math.floor(def.grow_time_mean*0.75) - def.grow_time_max=math.floor(def.grow_time_mean*1.2) + def.grow_time_min=math.floor(def.environment.grow_time_mean*0.75) + def.grow_time_max=math.floor(def.environment.grow_time_mean*1.2) return def end @@ -72,16 +78,24 @@ farming.register_plant = function(def) -- farming.register_mapgen(def) -- end if (def.spread) and (not def.groups["to_culture"]) then + edef=def.environment local spread_def={name=def.step_name.."_1", - temp_min=def.temperature_min,temp_max=def.temperature_max, - hum_min=def.humidity_min,hum_max=def.humidity_max, - y_min=def.elevation_min,y_max=def.elevation_max,base_rate = def.spread.base_rate} + temp_min=edef.temperature_min,temp_max=edef.temperature_max, + hum_min=edef.humidity_min,hum_max=edef.humidity_max, + y_min=edef.elevation_min,y_max=edef.elevation_max,base_rate = def.spread.base_rate} table.insert(farming.spreading_crops,1,spread_def) end if def.groups["infectable"] then farming.register_infect(def) end + + if def.groups["use_flail"] then + farming.seed_craft(def.harvest_name) + end + if def.groups["use_trellis"] then + farming.trellis_seed(def.harvest_name) + end end -- helping function for getting biomes @@ -138,6 +152,12 @@ farming.register_harvest=function(hdef) for _,coln in ipairs({"name","seed_name","harvest_name"}) do harvest_def[coln] = hdef[coln] end + if hdef.groups["use_flail"] then + harvest_def.groups["use_flail"]=hdef.groups["use_flail"] + end + if hdef.groups["use_trellis"] then + harvest_def.groups["use_trellis"]=hdef.groups["use_trellis"] + end minetest.register_craftitem(":" .. hdef.harvest_name, harvest_def) end @@ -190,8 +210,7 @@ farming.register_seed=function(sdef) on_timer = farming.seed_on_timer, } for i,colu in ipairs({"inventory_image","place_param2","fertility","description","name","seed_name","harvest_name", - "light_min","light_max","temperature_min","temperature_max","humidity_min","humidity_max","elevation_min","elevation_max", - "grow_time_min","grow_time_max"}) do + "environment"}) do seed_def[colu] = sdef[colu] end local seed_png = sdef.mod_name.."_"..sdef.name.."_seed.png" @@ -223,6 +242,14 @@ farming.register_steps = function(sdef) if sdef.groups["punchable"] then is_punchable = true end + local seed_extractable = false + if sdef.groups["seed_extractable"] then + seed_extractable = true + end + local use_trellis = false + if sdef.groups["use_trellis"] then + use_trellis = true + end -- check if cultured plant exist local has_next_plant = false if sdef.next_plant then @@ -241,8 +268,7 @@ farming.register_steps = function(sdef) sounds = default.node_sound_leaves_defaults(), } -- copy some plant definition into definition of this steps - for _,colu in ipairs({"paramtype2","place_param2","seed_name","name","harvest_name","light_min","light_max", - "temperature_min","temperature_max","humidity_min","humidity_max"}) do + for _,colu in ipairs({"paramtype2","place_param2","seed_name","name","harvest_name","environment"}) do if sdef[colu] then node_def[colu] = sdef[colu] end @@ -282,7 +308,9 @@ farming.register_steps = function(sdef) base_rarity = 8 - (i - 1) * 7 / (sdef.steps - 1) end ndef.drop={items={{items={drop_item}}}} - + if use_trellis then + table.insert(ndef.drop.items,1,{items={"farming:trellis"}}) + end local base_rarity = 1 if sdef.steps ~= 1 then base_rarity = sdef.steps - i + 1 @@ -555,7 +583,7 @@ farming.step_on_punch = function(pos, node, puncher, pointed_thing) local meta = minetest.get_meta(pos) meta:set_int("farming:step",pre_def.groups[pre_def.plant_name]) if pre_def.next_step then - minetest.get_node_timer(pos):start(math.random(pre_def.min_grow_time or 100, pre_def.max_grow_time or 200)) + minetest.get_node_timer(pos):start(math.random(pre_def.grow_time_min or 100, pre_def.grow_time_max or 200)) end return end @@ -669,16 +697,17 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname) if not is_correct_node then return itemstack end + local edef=pdef.environment -- check for correct temperature - if pt.under.y < pdef.elevation_min or pt.under.y > pdef.elevation_max then - minetest.chat_send_player(player_name,"Elevation must be between "..pdef.elevation_min.." and "..pdef.elevation_max) + if pt.under.y < edef.elevation_min or pt.under.y > edef.elevation_max then + minetest.chat_send_player(player_name,"Elevation must be between "..edef.elevation_min.." and "..edef.elevation_max) return end - if minetest.get_heat(pt.under) < pdef.temperature_min or minetest.get_heat(pt.under) > pdef.temperature_max then + if minetest.get_heat(pt.under) < edef.temperature_min or minetest.get_heat(pt.under) > edef.temperature_max then minetest.chat_send_player(player_name,"Temperature "..minetest.get_heat(pt.under).." is out of range for planting.") return end - if minetest.get_humidity(pt.under) < pdef.humidity_min or minetest.get_humidity(pt.under) > pdef.humidity_max then + if minetest.get_humidity(pt.under) < edef.humidity_min or minetest.get_humidity(pt.under) > edef.humidity_max then minetest.chat_send_player(player_name,"Humidity "..minetest.get_humidity(pt.under).." is out of range for planting.") return end diff --git a/textures/farming_hop_1.png b/textures/farming_hop_1.png index 7ad3ae451ec491dc0d02359a38edb2c742a39941..d8f3093afee27d224b823258e1d003131fc01a79 100755 GIT binary patch delta 125 zcmeBR>|>lDQO3l~z`&3+SNs!@;tcQ!ab;jg_cvoI-JI8OX0HNJkg+7lFPOpM*^M+H z$Jo=wF{FY~nzA delta 119 zcmeBU>|mTAQNYN|z`&qto2vw**aCb)T!FN|8Pm?q&DlT}V@Z%-FoVOh8)-m}fv1aO zNChMBA#2eF1`dV;pWmN&;lZLTa8$!(dNupjRk7!y&wOb4UAp}5=IN!|*6P-|)-pGL TIWK$(sF%Uh)z4*}Q$iB}=zl1K diff --git a/textures/farming_soil.png b/textures/farming_soil.png index a7a2af452ff1252cd9358958c9a93b5cec50965f..7bcc01d0ec5721c2f99738f0c77006bc2312d661 100644 GIT binary patch delta 378 zcmV-=0fqkR1d0QY8Gix*005AYXf^-<00wkYPE!CO00000k_Q1L0003$Nkl0AAf!-cy0Dsm8^6|#)_0VdAkFnb8 z_7!aQC4-r<-sbahG*<5nSNzVlxwVFY+$>aZ&2=Qbu{k9I8epftpx?o0c`%r+^=Bo( zRQK63jY+ae>GD088nmPjgs(icm784m?|T@}{qSU+wSnJa{f|STzhwHk!_`vf?nv39 zfj#j-l*Bq#x^vroO$cytN*e<;O&RWbdlZC7pqrfmN0F%@&H45O0LR1;5l&81fDWhA z?Su}(W(@v0)K(X>(&M|!#%y~`HNi6k!;ufya(np9QMgYHkhR7F=zkBralqvNp!BPC Y1DP>0EYwfFod5s;07*qoM6N<$f|wk%wg3PC delta 604 zcmV-i0;Bzk1L_2j8Gi-<001BJ|6u?C0x?NMK~#7FjFJP4U11c2zh_%(o3(8QwHY=} z8lw&BHf~hgjB4AqZ5xZ(bQ$#~bAKJq9DoeK10(@f{_nHO&jba;Y%H_G=&;Q=8_3mz z5mIGT*RU?k&?DwIZx379iO;~YHrb&=mFw!NKn}L+&Hx}Q+^247Bg66wfUgPH~c+59aJ*GXt^p1JqN2T%3vTPS+ z$#%-LFNt&g%yb(b(K#njmLIZ|cT91YYu~3NuB=;O?62;cr#QdInRuEPw*H71DHmF# z1f7lCC1jBd(y5TR}C}s#12^F8 diff --git a/textures/farming_soil_wet.png b/textures/farming_soil_wet.png index 6ff464692d7e2e7494338dd2f006b7b583703c29..1dfdc38c9e8f6789f9cbd37925a836d936a39f04 100644 GIT binary patch delta 394 zcmV;50d@Z21fv6xBYy#ENkl!kdKcGS)fU#i^qIHh@En~v~imnNCg_&ArgCV#qhE#0e|acN;#s`q?x82M180RIeY*Y|?T0PlUp6^pxx?5$O zOXJ;Nvwg->wJ1vXUKF!`Z<^sRZ&?^CZ~uQ%S?m82%Xq7u5%`vD>N&>orpf?sd11$Q zf?%tb1#w@9)PJft?j>kk5dDH7)f9z{hg3t!4f7*+sw8`U+zTW27x)oG32x&oy-OMk zIS>OlgQ#8G?9y~o8p$0_uut}zC*i{?V<$=7xdYAs)*+MKA~*YBf(l2AwgZ60x$o~F zGPIccAA5FS)fNenlew^zKM6-#B%`I`0r;tF-OMLQn15pG0mMKgvLRz>oac7qoP-M= zX(_0k6+KrsCvHCpn3bMQimwZ~8s`PRHO=zBAP@w`8G2D8Ep&+)U|_QSdIj?_=^a&? z(t>u?((f_?A^?${(juk}R88`nwns0 z1O+|=PKS)X$lYoV5tElJ2;z$|V3Tf1Gd0U=Fv#g)KG5^v@UdkAZ5w%e3U7!klUUTI dm}NbIfq`WL*GgO7CT*Zm44$rjF6*2UngF&QLt+2` literal 0 HcmV?d00001 diff --git a/textures/farming_tool_glass_water.png b/textures/farming_tool_glass_water.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3342b78ff4ea7bd52caea8ea2da82e5d8061f7 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=1b4u`?TUbGH9qz4gS_ zt!K9EIeYNnmAywUA3Jm7{N?+Xu0OnW>uI&pN)@0|#*!evUsz^6PU>G$jE?!f%_4oXtCUJC!i7rPgg&e IbxsLQ0NgVe(*OVf literal 0 HcmV?d00001 diff --git a/textures/farming_urtica_2.png b/textures/farming_urtica_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9dcc5293be18d353e7fcd63ac2c408ca0a5553c7 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bO)b$CSR>BR$jXq*XdP$0 zXyQ(FpcG?CkY6x^!?PP{K#sYmi(^OyW3qy*0ha@3s=@V+#*++Z62c7HRv8pEXrv^t vC2dF&V{`1_G4|QmWfZc}Fn~dcMTwz}iD`@R^tT^@Mlg7~`njxgN@xNA%Fih0 literal 0 HcmV?d00001 diff --git a/textures/farming_urtica_3.png b/textures/farming_urtica_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9609233d1d9b92f3903fe8c702ba027eeae51be9 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bO)b$CSR>Am%V-^E&CtkN z^~LWkP>Qi6$S;_|;n|HeAji|w#WAFUk@etGMrKC_h7B@5-0NR-@7wa<&zFH=p^}-I zz_sUGbMChFX1{o``WNfv%}qbvHB_?B)>!l6{gdd#V=<0@Y8m%3Dg9v#5@3~LP~JBU PXefiHtDnm{r-UW|8&Ejt literal 0 HcmV?d00001 diff --git a/textures/farming_urtica_4.png b/textures/farming_urtica_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0832298032bb88f3113413305a21ccfa194fe581 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWP0r5|SR>BR$Z8#D&5+CJ zndSY^RI(H(%UBZR7tG-B>_!@p6YJ^X7*fHgd&-dSkOG6l#c-$cq$-9Zat9{tP(C>K z;O}@>Nvl6k`1!XznbtIQ?W2n9<1I6?n5*SCt3+?ye<;FuQ(4oxx&!9@l@Ha$#9DVR ncygbsiih{e@ydr683g}*{>_tDnm{r-UW|oz_Gy literal 0 HcmV?d00001 diff --git a/textures/farming_urtica_5.png b/textures/farming_urtica_5.png new file mode 100644 index 0000000000000000000000000000000000000000..440acdcbf135331ea1b1a0374cdb46eb17791bda GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWP0r5|SR>BR$Z8#D&5+B; zqse*YQI-l&ma!zrFPOpM*^M+HC)U%&F{FY~_mm;uAq579i{Vb?NmUF-Op?q-e z!Qb(&l2(77@bhnbGOcOq+D8@H$6ID(F;~lPR*BxY|4@YSrn07WbqCD*D<7(hiM8%t n@Z>&M6%X%`{v;S3j3^P68tk+G zfHW|c1o;IsI6S+N2IQ!Ex;TbZFeV>h7IHYkrqSNa>#?C&yWxhBLk+{4MVu~{W(r>z Z7)rLYOi;NiEdtcQ;OXk;vd$@?2>^*TA+G=c literal 0 HcmV?d00001 diff --git a/utensils.lua b/utensils.lua index 4b31a7f..3f8220d 100644 --- a/utensils.lua +++ b/utensils.lua @@ -21,7 +21,7 @@ minetest.register_craft({ minetest.register_craftitem(modname..":flail", { description = S("Threshing Flail"), inventory_image = "farming_tool_flail.png", - groups = {food_flail = 1, flammable = 2}, + groups = {farming_flail = 1, flammable = 2}, }) minetest.register_craft({ @@ -32,6 +32,21 @@ minetest.register_craft({ {"group:stick", "", ""}, } }) +-- Trellis +minetest.register_craftitem(modname..":trellis", { + description = S("Trellis"), + inventory_image = "farming_tool_trellis.png", + groups = {farming_trellis = 1, flammable = 2}, +}) + +minetest.register_craft({ + output = modname..":trellis", + recipe = { + {"", "", ""}, + { "group:stick", "","group:stick"}, + { "","group:stick", ""}, + } +}) -- mortar and pestle -- definition from mod farming by tenplus1 minetest.register_craftitem(modname..":mortar_pestle", {