diff --git a/README.txt b/README.txt index 7ab9abe..10c29fd 100644 --- a/README.txt +++ b/README.txt @@ -13,6 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t Changelog: +1.31 - Added Pineapple which can be found growing in savannah areas (place pineapple in crafting to obtain 5x rings to eat and a top for re-planting) 1.30 - Added Garlic, Pepper and Onions thanks to Grizzly Adam for sharing textures 1.29 - Updating functions so requires Minetest 0.4.16 and above to run 1.28 - Added chili peppers and bowl of chili, optimized code and fixed a few bugs, added porridge diff --git a/farming.conf_example b/farming.conf_example index d8e40de..7a08b24 100644 --- a/farming.conf_example +++ b/farming.conf_example @@ -28,6 +28,7 @@ farming.hemp = true farming.onion = true farming.garlic = true farming.pepper = true +farming.pineapple = true farming.donuts = true -- rarety of crops on map, default is 0.006 (higher number = more crops) diff --git a/init.lua b/init.lua index ab700de..a404b7c 100644 --- a/init.lua +++ b/init.lua @@ -7,7 +7,7 @@ farming = {} farming.mod = "redo" -farming.version = "1.30" +farming.version = "1.31" farming.path = minetest.get_modpath("farming") farming.select = { type = "fixed", @@ -598,6 +598,7 @@ farming.hemp = true farming.garlic = true farming.onion = true farming.pepper = true +farming.pineapple = true farming.donuts = true farming.rarety = 0.006 @@ -652,6 +653,7 @@ if farming.donuts then dofile(farming.path.."/donut.lua") end if farming.garlic then dofile(farming.path.."/garlic.lua") end if farming.onion then dofile(farming.path.."/onion.lua") end if farming.pepper then dofile(farming.path.."/pepper.lua") end +if farming.pineapple then dofile(farming.path.."/pineapple.lua") end dofile(farming.path.."/mapgen.lua") dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility diff --git a/mapgen.lua b/mapgen.lua index 2989d16..ffbfb67 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -117,3 +117,22 @@ minetest.register_decoration({ num_spawn_by = 1, }) end + +if farming.pineapple then +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = farming.rarety, -- 0.06, + spread = {x = 100, y = 100, z = 100}, + seed = 917, + octaves = 3, + persist = 0.6 + }, + y_min = 18, + y_max = 30, + decoration = {"farming:pineapple_8"}, +}) +end diff --git a/pineapple.lua b/pineapple.lua new file mode 100644 index 0000000..2e7f5b7 --- /dev/null +++ b/pineapple.lua @@ -0,0 +1,112 @@ + +local S = farming.intllib + +-- pineapple top +minetest.register_craftitem("farming:pineapple_top", { + description = S("Pineapple Top"), + inventory_image = "farming_pineapple_top.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1") + end, +}) + +-- pineapple +minetest.register_node("farming:pineapple", { + description = S("Pineapple"), + drawtype = "plantlike", + tiles = {"farming_pineapple.png"}, + inventory_image = "farming_pineapple.png", + wield_image = "farming_pineapple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27} + }, + groups = {fleshy = 3, dig_immediate = 3, flammable = 2}, +}) + +-- pineapple +minetest.register_craftitem("farming:pineapple_ring", { + description = S("Pineapple Ring"), + inventory_image = "farming_pineapple_ring.png", + on_use = minetest.item_eat(1), +}) + +minetest.register_craft( { + output = "farming:pineapple_ring 5", + type = "shapeless", + recipe = {"farming:pineapple"}, + replacements = {{"farming:pineapple", "farming:pineapple_top"}} +}) + +-- pineapple juice +minetest.register_craftitem("farming:pineapple_juice", { + description = S("Pineapple Juice"), + inventory_image = "farming_pineapple_juice.png", + on_use = minetest.item_eat(4, "vessels:drinking_glass"), +}) + +minetest.register_craft({ + output = "farming:pineapple_juice", + type = "shapeless", + recipe = {"vessels:drinking_glass", "farming:pineapple_ring", + "farming:pineapple_ring", "farming:pineapple_ring"}, +}) + +-- crop definition +local crop_def = { + drawtype = "plantlike", + visual_scale = 1.5, + tiles = {"farming_pineapple_1.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults() +} + +-- stage 1 +minetest.register_node("farming:pineapple_1", table.copy(crop_def)) + +-- stage 2 +crop_def.tiles = {"farming_pineapple_2.png"} +minetest.register_node("farming:pineapple_2", table.copy(crop_def)) + +-- stage 3 +crop_def.tiles = {"farming_pineapple_3.png"} +minetest.register_node("farming:pineapple_3", table.copy(crop_def)) + +-- stage 4 +crop_def.tiles = {"farming_pineapple_4.png"} +minetest.register_node("farming:pineapple_4", table.copy(crop_def)) + +-- stage 5 +crop_def.tiles = {"farming_pineapple_5.png"} +minetest.register_node("farming:pineapple_5", table.copy(crop_def)) + +-- stage 6 +crop_def.tiles = {"farming_pineapple_6.png"} +minetest.register_node("farming:pineapple_6", table.copy(crop_def)) + +-- stage 7 +crop_def.tiles = {"farming_pineapple_7.png"} +minetest.register_node("farming:pineapple_7", table.copy(crop_def)) + +-- stage 8 (final) +crop_def.tiles = {"farming_pineapple_8.png"} +crop_def.groups.growing = 0 +crop_def.drop = { + items = { + {items = {'farming:pineapple'}, rarity = 1}, + {items = {'farming:pineapple'}, rarity = 15}, + } +} +minetest.register_node("farming:pineapple_8", table.copy(crop_def)) diff --git a/textures/farming_pineapple.png b/textures/farming_pineapple.png new file mode 100644 index 0000000..febf22a Binary files /dev/null and b/textures/farming_pineapple.png differ diff --git a/textures/farming_pineapple_1.png b/textures/farming_pineapple_1.png new file mode 100644 index 0000000..262eff7 Binary files /dev/null and b/textures/farming_pineapple_1.png differ diff --git a/textures/farming_pineapple_2.png b/textures/farming_pineapple_2.png new file mode 100644 index 0000000..4b96d17 Binary files /dev/null and b/textures/farming_pineapple_2.png differ diff --git a/textures/farming_pineapple_3.png b/textures/farming_pineapple_3.png new file mode 100644 index 0000000..90464a1 Binary files /dev/null and b/textures/farming_pineapple_3.png differ diff --git a/textures/farming_pineapple_4.png b/textures/farming_pineapple_4.png new file mode 100644 index 0000000..be58e53 Binary files /dev/null and b/textures/farming_pineapple_4.png differ diff --git a/textures/farming_pineapple_5.png b/textures/farming_pineapple_5.png new file mode 100644 index 0000000..2526f83 Binary files /dev/null and b/textures/farming_pineapple_5.png differ diff --git a/textures/farming_pineapple_6.png b/textures/farming_pineapple_6.png new file mode 100644 index 0000000..741e0e3 Binary files /dev/null and b/textures/farming_pineapple_6.png differ diff --git a/textures/farming_pineapple_7.png b/textures/farming_pineapple_7.png new file mode 100644 index 0000000..22bad23 Binary files /dev/null and b/textures/farming_pineapple_7.png differ diff --git a/textures/farming_pineapple_8.png b/textures/farming_pineapple_8.png new file mode 100644 index 0000000..5182c4f Binary files /dev/null and b/textures/farming_pineapple_8.png differ diff --git a/textures/farming_pineapple_juice.png b/textures/farming_pineapple_juice.png new file mode 100644 index 0000000..43a54c7 Binary files /dev/null and b/textures/farming_pineapple_juice.png differ diff --git a/textures/farming_pineapple_ring.png b/textures/farming_pineapple_ring.png new file mode 100644 index 0000000..deb2e6d Binary files /dev/null and b/textures/farming_pineapple_ring.png differ diff --git a/textures/farming_pineapple_top.png b/textures/farming_pineapple_top.png new file mode 100644 index 0000000..f653d83 Binary files /dev/null and b/textures/farming_pineapple_top.png differ