#Thank you for using my script! #There are comments all around if you want to make some custom changes for you server #VV comments will look like this VV #(Comment) #(script) #You'll first find the NPC assignment, change the name if you want #Then the NPC interact click triggers #And ALL the way at the bottom are the actual quest flags #If you have any questions or if you mess something up, ask it in the denizen channel in the discord Miner_NPC_Assignment: type: assignment actions: on assignment: - trigger name:click state:true - trigger name:chat state:true interact scripts: - Miner_NPC_Interact #To give a Citizens NPC this assignment so it interacts with the player #Select the NPC and run /npc assign --set Miner_NPC_Interact Miner_NPC_Interact: type: interact steps: #1-3 click triggers are for cobblestone quest 1: click trigger: script: #These are just the NPC talking when first clicked, remove it or customize it to your liking - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Hey! May name is Cole. I'm the head Miner for this here Town." - wait 1s - playsound sound:ENTITY_VILLAGER_NO pitch:1 - narrate "For your safety, do not use this mine, it is highly unstable..." - wait 1s - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Well I have a number of quests for you to do!" - zap 2 2: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Do you want a Mining quest? (Say Yes or No)" #Now starts the fun, here are the chat triggers, what the NPC says depending on what the player types chat trigger: 1: trigger: /Yes/ Script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #If you want a different amount goal, define it here^ and lower - narrate "Great! Mine 64 Stone!" - flag player Cobble_Quest:0 - title "subtitle:Cobble Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - zap 3 2: trigger: /No/ Script: - playsound sound:ENTITY_VILLAGER_NO pitch:1 - narrate "No problem! Come back when you're ready." 3: click trigger: script: #if you changed the cobblestone amount, define it here as well. - if >= 64: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Great work! Here's your reward" - title "subtitle:Cobble Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s #set this to whatever reward you want for the first quest, if you want Telekinesis make sure you have Eco and EcoEnchants installed. - give enchanted_book[enchantments=] - flag player Cobble_Quest:! - zap 4 #if you changed the cobblestone amount, define it here as well. - if < 64: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #and here - narrate "You haven't mined 64 stone yet!" #4-5 click triggers are for coal quest 4: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Are you ready for your next quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ Script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different goal amount, change it here - narrate "Awesome! Mine 32 Coal!" - title "subtitle:Coal Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - flag player Coal_Quest:0 - zap 5 2: trigger: /No/ Script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "No problem! Come back when you're ready." 5: click trigger: script: #if you changed the coal amount needed, put it here - if == 32: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Well done! Here's your reward!" - title "subtitle:Coal Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s #if you want a different reward, change it here - give coal amount:16 - flag player Coal_Quest:! - zap 6 #if you changed the coal amount needed, put it here - if < 32: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #if you changed the coal amount needed, put it here - narrate "You haven't mined 32 Coal yet!" #6-7 click triggers are for Iron quest 6: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Are you ready for your next quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different iron goal amount, change it here - narrate "Perfect! Mine 30 Iron Ore!" - title "subtitle:Iron Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - flag player Iron_Quest:0 - zap 7 2: trigger: /No/ script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Oh well, come back when you're ready." 7: click trigger: script: #if you changed the iron amount needed, put it here - if == 30: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Great Job! Here's your reward!" #set this to whatever reward you want for the first quest, if you want Telekinesis make sure you have Eco and EcoEnchants installed. - give enchanted_book[enchantments=] - title "subtitle:Iron Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s - flag player Iron_Quest:! - zap 8 #if you changed the coal amount needed, put it here - else if > 30: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #if you changed the coal amount needed, put it here - narrate "You haven't mined 30 Iron yet!" #8-9 click triggers are for gold quest 8: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Are you ready for you're next quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 - title "subtitle:Gold Quest Started" fade_in:0.5s stay:2s fade_out:0.5s #if you want a different gold goal amount, change it here - narrate "Good! Mine 30 Gold Ore!" - flag player Gold_Quest:0 - zap 9 2: trigger: /No/ script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "That's okay, come back when you're ready!" 9: click trigger: script: #If you changed the gold goal, set it here - if == 30: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Great job! Here's your reward!" - title "subtitle:Gold Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s #change this to whatever reward you want - give gold_ingot quantity:15 - flag player Gold_Quest:! - zap 10 - else if < 30: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #If you changed the gold goal, set it here - narrate "You haven't mined 30 Gold yet!" #10-11 click triggers are for the Redstone Quest 10: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Are you ready for your next quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different redstone goal amount, change it here - narrate "Awesome! Mine 30 Redstone!" - title "subtitle:Redstone Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - flag player Redstone_Quest:0 - zap 11 2: trigger: /No/ script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "That's ok. Come back when you're ready." 11: click trigger: script: #If you changed the redstone goal, set it here - if == 30: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Nice work! Here's your reward!" #If you want a different reward, change it here - give redstone quantity:34 - title "subtitle:Redstone Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s - flag player Redstone_Quest:1 - zap 12 #If you changed the redstone goal, set it here - else if < 20: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #If you changed the redstone goal, set it here - narrate "You haven't mined 30 Redstone yet!" #12-13 click triggers are for Emerald Quest 12: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Ready for you next quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different Emerald goal amount, change it here - narrate "Great! Mine 30 Emeralds!" - title "subtitle:Emerald Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - flag player Emerald_Quest:0 - zap 13 2: trigger: /No/ Script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Oh well, come back when you're ready." 13: click trigger: script: #If you changed the Emerald goal amount, set it here - if == 30: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Awesome work! Here's your reward!" #Change the reward here - give villager_spawn_egg quantity:1 #Also here - give emerald quantity:15 - title "subtitle:Emerald Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s - flag player Emerald_Quest:! - zap 14 #If you changed the Emerald goal amount, set it here - else if < 30: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #If you changed the Emerald goal amount, set it here - narrate "You haven't mined 30 Emeralds yet!" #14-15 click triggers are for Diamond Quest 14: click trigger: script: #I just wanted to add character "developement" customize it if need be. - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "You've come a long way.." - wait 1s - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Are you ready for your second to last quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different Diamond goal amount, change it here - narrate "Bet! Mine 30 Diamonds!" - title "subtitle:Diamond Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - flag player Diamond_Quest:0 - zap 15 2: trigger: /No/ script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Dang, well come back when you're ready." 15: click trigger: script: #If you changed the Diamond goal amount, set it here - if == 30: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - narrate "Nice job! I'm proud of you! Here's your reward." #Change the reward here - give diamond quantity:5 - title "subtitle:Diamond Quest Complete" fade_in:0.5s stay:2s fade_out:0.5s - flag player Diamond_Quest:! - zap 16 #If you changed the Diamond goal amount, set it here - else if > 30: - playsound sound:ENTITY_VILLAGER_NO pitch:1 #And here - narrate "You haven't mined 30 diamonds yet!" #16-17 click triggers are for Netherite Quest (Of course, requires 1.16.4+) 16: click trigger: script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "I'm really proud of you, are you ready for your LAST quest? (Say Yes or No)" chat trigger: 1: trigger: /Yes/ script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 #if you want a different Ancient Debris goal amount, change it here - narrate "I knew you would! Go mine 5 Ancient Debris." - flag player Netherite_Quest:0 - title "subtitle:Netherite Quest Started" fade_in:0.5s stay:2s fade_out:0.5s - zap 17 2: trigger: /No/ script: - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Dang, well come back another time" 17: click trigger: script: #If you changed the Ancient Debris goal amount, set it here - if == 5: - playsound sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1 - flag player Netherite_Quest:! - title "subtitle:Netherite Quest Complete" - narrate "Nice job! I can't tell you how proud of you I am" - wait 1s - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "At this point I don't know what to give you..." - wait 1s - playsound sound:ENTITY_VILLAGER_AMBIENT pitch:1 - narrate "Know what, I'll give you my favorite pickaxe" #This reward is a custom pickaxe I made, also linked in the forum page. Change it if you wish - give ColePick quantity:1 #Special title for this special item - title "subtitle:Coal Crusher Obtained" fade_in:0.5s stay:2s fade_out:0.5s - zap 18 18: click trigger: script: - playsound sound:ENTITY_VILLAGER_CELEBRATE pitch:1 - narrate "You've already finished all my quests!" #Now it's time for the actual flags! #If you have changed any of the goal amounts above, you need to set them here for it to work and make sense #If you didn't change the amounts, you can either not care about this, or customize the actionbars so it's a title/subtitle #or just narrates their quest progression, or neither Cobble_Quest: type: world events: #Don't change this! after player breaks stone|cobblestone flagged:Cobble_Quest: - flag player Cobble_Quest:++ #If you changed the cobblestone goal amount, set it here - if < 64: #And here - actionbar "/64 Stone." #AND here - else if >= 64: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Cobble_Quest:64 #ANDDD HERE, also change the NPC name if you wish - actionbar "Mined 64/64 Stone. Go talk to Cole!" Coal_Quest: type: world events: #Don't change this! after player breaks coal_ore flagged:Coal_Quest: - flag player Coal_Quest:++ #If you changed the coal goal amount, set it here - if < 32: #and here - actionbar "/32 Coal" #And here - else if >= 32: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Coal_Quest:32 #AND HERE, also change the NPC name if you wish - actionbar "Mined 32/32 Coal. Go talk to Cole!" Iron_quest: type: world events: #Don't change this! after player breaks iron_ore flagged:Iron_Quest: - flag player Iron_Quest:++ #If you changed the iron goal amount, set it here - if < 30: #And here - actionbar "/30 Iron" #And here - else if >= 30: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Iron_Quest:30 #AND HERE, also change the NPC name if you wish - actionbar "Mined 30/30 Iron. Go talk to Cole!" Gold_Quest: type: world events: #Don't change this! after player breaks gold_ore flagged:Gold_Quest: - flag player Gold_Quest:++ #If you changed the gold goal amount, set it here - if < 30: #And here - actionbar "/30 Gold" #And here - else if >= 30: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Gold_Quest:30 #AND HERE, also change the NPC name if you wish - actionbar "Mined 30/30 Gold. Go talk to Cole!" Redstone_Quest: type: world events: #Don't change this! after player breaks redstone_ore flagged:Redstone_Quest: - flag player Redstone_Quest:++ #If you changed the Redstone goal amount, set it here - if < 30: #And here - actionbar "/30 Redstone" #And here - else if >= 30: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Redstone_Quest:30 #AND HERE, also change the NPC name if you wish - actionbar "Mined 30/30 Redstone. Go talk to Cole!" Emerald_Quest: type: world events: #Don't change this! after player breaks emerald_ore flagged:Emerald_Quest: - flag player Emerald_Quest:++ #If you changed the Emerald goal amount, set it here - if < 30: #And here - actionbar "/30 Emeralds" #And here - else if >= 30: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Emerald_Quest:30 #AND HERE, also change the NPC name if you wish - actionbar "Mined 30/30 Emeralds. Go talk to Cole!" Diamond_Quest: type: world events: #Don't change this! after player breaks diamond_ore flagged:Diamond_Quest: - flag player Diamond_Quest:++ #If you changed the Diamond goal amount, set it here - if < 30: #And here - actionbar "/30 Diamonds" #And here - else if >= 30: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Diamond_Quest:30 #AND HERE, also change the NPC name if you wish - actionbar "Mined 30/30 Diamonds. Go talk to Cole!" Netherite_Quest: type: world events: #Don't change this! after player breaks ancient_debris flagged:Netherite_Quest: - flag player Netherite_Quest:++ #If you changed the Ancient Debris goal amount, set it here - if < 5: #And here - actionbar "/5 Ancient Debris" #And here - else if >= 5: - playsound sound:ENTITY_FIREWORK_ROCKET_BLAST pitch:1 #AND here - flag player Netherite_Quest:5 #AND HERE, also change the NPC name if you wish - actionbar "Mined 5/5 Ancient Debris. Go talk to Cole!"