From 219817235e1a6bfc6ebe992bea0feae94166caaa Mon Sep 17 00:00:00 2001 From: cale Date: Sun, 4 Sep 2016 14:08:14 +0200 Subject: [PATCH] added quests.add_craft_goal + new flower texture --- mods/default/craft.lua | 16 ++++ mods/default/textures/default_flower_1.png | Bin 463 -> 527 bytes mods/quests/init.lua | 86 +++++++++++++++++---- 3 files changed, 88 insertions(+), 14 deletions(-) diff --git a/mods/default/craft.lua b/mods/default/craft.lua index 59c6043..3688472 100644 --- a/mods/default/craft.lua +++ b/mods/default/craft.lua @@ -293,6 +293,15 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "default:rope", + recipe = { + {"", "default:liana", ""}, + {"", "default:liana", ""}, + {"", "default:liana", ""}, + } +}) + -- grass @@ -304,6 +313,13 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "default:plant_grass 3", + recipe = { + {"default:wet_grass"}, + } +}) + -- tools minetest.register_craft({ diff --git a/mods/default/textures/default_flower_1.png b/mods/default/textures/default_flower_1.png index 3c717a47e6cf27ab99fc3b3ee100dfc2695b88d2..f4049ab327f97e631962c475c772346b1b0239fa 100644 GIT binary patch delta 420 zcmV;V0bBmh1CIodQ3~J*1Plcayf9R>ky|K#cS%G+R9M69RxM8hK@fe@p23mkJU^kS zKq1c;QA-HsFn6vY!Jv?5i)jsM`U3!uM4|2{Ua?0m_ zB0}pp8<0F7-M-16T-mDSjMGrNr}|32$_CM-KhuJnE+hS@%4byst~>Y2u&qP+#JSz| z(XH0^WN~O+8Dj-hA<0!u_VWI`74x=!WxaXNR{dKcd`Gc1-9*D zf63JLB*UoyfScWO48|kk%nNdvdO_ri&yOz*#v|emC66=F;xt4M`J&O!sIC%0u~ O0000XgEXl;MU*L$B0A(C8=E@=iWFDKzR$aR?@kD@@d2u%Hfr*{ zDY|74Yomh67fZBC;wd1h0N8PW!Z(LsjD;~|j8kesvEp$=80{C6WXi^M@3RLk+HpI7 zwNcKyu`SvqTSQIKIg|T}K|4q}R-xps_iPT@C6o`8>dsaBa@ijH8e%(xM~3)qif-VS zGJc`%WwGkVK-wrFPISSJ0fEanhVwBEzV?SYAt^gx&O1^#>xU$S9=n8H!0JOI7o`E$ z#`0Bs-(No;J$+<>vv3Y=HRxbh=0Mp_7r@zi2w+#{KpjoeD%M7c$L;x5{VEjrKwRpc z97j?e?MiJetOme7n{lux$9hJ{AK_E002ovPDHLkV1fel BqK5zg diff --git a/mods/quests/init.lua b/mods/quests/init.lua index cd8d8f9..c768547 100644 --- a/mods/quests/init.lua +++ b/mods/quests/init.lua @@ -147,6 +147,23 @@ function quests.add_place_goal(quest, title, node, number, description, ending) return goal end +function quests.add_craft_goal(quest, title, item, number, description, ending) + local goal = { + title = title, + type = "craft", + item = item, + node = item, + max = number, + progress = 0, + done = false, + + description = description or "", + ending = ending or nil + } + table.insert(quest.goals, goal) + return goal +end + function quests.process_node_count_goals(player, type, node) local player_quests = quests.player_quests[player] if not(player_quests) or #player_quests == 0 then return end @@ -241,31 +258,72 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack quests.process_node_count_goals(placer:get_player_name(), "placenode", newnode.name) end) +minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if not player or not player:is_player() or + not quests.player_quests[player:get_player_name()] then + return + end + + for i=1,itemstack:get_count() do + quests.process_node_count_goals(player:get_player_name(), "craft", itemstack:get_name()) + end +end) + minetest.register_on_newplayer(function(player) if not player then return end quests.player_quests[player:get_player_name()] = {} - - --tutorial local name = player:get_player_name() - local quest = quests.new(name, "Tutorial", "Hey you!\nI didnt see you before. Are you new here?\nOh, Ok.\nI will help you to find the city \"NAME HERE\".\nYou will be save there.\n But first you need some basic equipment!") - local q1 = quests.add_dig_goal(quest, "Harvest dirt", {"default:dirt", "default:grass"}, 10, "You need to harvest some Dirt to get stones!") - local q2 = quests.add_dig_goal(quest, "Harvest Grass", {"default:plant_grass", "default:plant_grass_2", "default:plant_grass_3", "default:plant_grass_4", "default:plant_grass_5"}, 12, "Now you need to get some Grass to craft strings.") - local q3 = quests.add_dig_goal(quest, "Harvest Leaves", {"default:leaves_1", "default:leaves_2", "default:leaves_3" ,"default:leaves_4"}, 6, "Harvest some leaves to craft twigs.") - local q4 = quests.add_place_goal(quest, "Place Workbench", {"default:workbench"}, 1, "You should craft a workbench and place it in front of you!", "Great! The tutorial ends here. If you want to know how to craft things,\n just open the crafting guide I gave you.\nYou can find all craftable items there!") + --tutorial + do + local quest = quests.new(name, "Tutorial", "Hey you!\nI didnt see you before. Are you new here?\nOh, Ok.\nI will help you to find the city \"NAME HERE\".\nYou will be save there.\n But first you need some basic equipment!") + local q1 = quests.add_dig_goal(quest, "Harvest Dirt/Grass", {"default:dirt", "default:grass", "default:wet_grass"}, 10, "You need to harvest some Dirt to get stones!") + local q2 = quests.add_dig_goal(quest, "Harvest Grass", {"default:plant_grass", "default:plant_grass_2", "default:plant_grass_3", "default:plant_grass_4", "default:plant_grass_5"}, 12, "Now you need to get some Grass to craft strings.") + local q3 = quests.add_dig_goal(quest, "Harvest Leaves", {"default:leaves_1", "default:leaves_2", "default:leaves_3" ,"default:leaves_4"}, 6, "Harvest some leaves to craft twigs.") + + local q4 = quests.add_place_goal(quest, "Place Workbench", {"default:workbench"}, 1, "You should craft a workbench and place it in front of you!", "If you want to know how to craft things,\n just open the crafting guide I gave you.\nYou can find all craftable items there!") + local q5 = quests.add_craft_goal(quest, "Craft Stone Axe", {"default:axe_stone"}, 1, "Now you can craft a Stone Axe.") + local q6 = quests.add_dig_goal(quest, "Harvest Logs", {"default:log","default:log_1","default:log_2","default:log_3", "default:jungle_tree"}, 20, "You can use the Stone Axe to harvest logs.") + local q7 = quests.add_dig_goal(quest, "Mine Stone", {"default:stone"}, 20, "You can also mine Stone with your Stone Axe.") + local q8 = quests.add_craft_goal(quest, "Craft Flint Pick", {"default:flint_pick"}, 1, "Craft a Flint Pick!") - q3.reward = "default:wood 3" - q4.reward = "crafting_guide:book" + q3.reward = "default:wood 3" + q4.reward = "crafting_guide:book" - q2.requires = q1 - q3.requires = q2 - q4.requires = q3 + q2.requires = q1 + q3.requires = q2 + q4.requires = q3 + q5.requires = q4 - quest.xp = 10 + q6.requires = q5 + q7.requires = q5 + + q8.requires = q7 - quests.add_quest(name, quest) + quest.xp = 10 + + quests.add_quest(name, quest) + end + + do + local quest = quests.new(name, "Lets mine!", "") + local q1 = quests.add_dig_goal(quest, "Mine Stone", {"default:stone"}, 10, "") + local q2 = quests.add_dig_goal(quest, "Mine Coal", {"default:stone_with_coal"}, 10, "") + local q3 = quests.add_dig_goal(quest, "Mine Iron", {"default:stone_with_iron"}, 10, "") + local q4 = quests.add_dig_goal(quest, "Mine Copper", {"default:stone_with_copper"}, 10, "") + local q5 = quests.add_dig_goal(quest, "Mine Diamond", {"default:stone_with_diamond"}, 10, "") + + q1.reward = "default:torch 10" + q2.reward = "default:apple 30" + q3.reward = "default:pick" + q4.reward = "default:torch 99" + q5.reward = "default:torch 99" + + quest.xp = 0 + quests.add_quest(name, quest) + end end) quests.load()