Skip to content
Update Creating a quest and general quest settings authored by Guillaume Vandenneucker's avatar Guillaume Vandenneucker
...@@ -45,6 +45,8 @@ The "fail_objects" are objects that will be executed if the player fails the que ...@@ -45,6 +45,8 @@ The "fail_objects" are objects that will be executed if the player fails the que
The "cancel_objects" are objects that will be executed if the quest gets cancelled, useful to reset things for example. (optional) The "cancel_objects" are objects that will be executed if the quest gets cancelled, useful to reset things for example. (optional)
The "fail_actions" are actions that will make the quest fail if the player execute it. (optional)
**Some of those settings are detailed below in the comments, and some parts are detailed in other wiki pages.** **Some of those settings are detailed below in the comments, and some parts are detailed in other wiki pages.**
*If you create coop quests (so if max_coop_players is greater than 0), please take a look at those details :* *If you create coop quests (so if max_coop_players is greater than 0), please take a look at those details :*
...@@ -85,6 +87,7 @@ max_concurrent_instances_queue: false ...@@ -85,6 +87,7 @@ max_concurrent_instances_queue: false
# Default : minimum 1, maximum 1 # Default : minimum 1, maximum 1
min_players: 1 min_players: 1
max_players: 1 max_players: 1
allow_coop_leave_until_remaining_coop: 1
# Maximum times the player can complete the quest # Maximum times the player can complete the quest
# Default : 1 # Default : 1
...@@ -98,7 +101,7 @@ allow_stop: true ...@@ -98,7 +101,7 @@ allow_stop: true
time_limit: 0 time_limit: 0
# Time the player will have to wait between completions (will be effective if max_completions is greater than 1) # Time the player will have to wait between completions (will be effective if max_completions is greater than 1)
# Available options : 'DISABLED', 'ENABLED [minutes amount]', 'ENABLED_SUCCESS [minutes amount]' (so the cooldown will only apply if the player succeeds the quest) # Available options : 'DISABLED', 'ENABLED [minutes amount]', 'ENABLED_SUCCESS [minutes amount]' (will only apply on quest success), 'ENABLED_FAIL [minutes amount]' (will only apply on quest fail)
# Default : DISABLED # Default : DISABLED
cooldown: DISABLED cooldown: DISABLED
...@@ -130,8 +133,14 @@ complete_for_leader_only: false ...@@ -130,8 +133,14 @@ complete_for_leader_only: false
# - ENABLED (save on disk/database when player leave, on server stop/reload and with delay) # - ENABLED (save on disk/database when player leave, on server stop/reload and with delay)
# - SERVER_EPHEMERIAL (will be saved when player leaves but when the server is stopped or reloaded all the progression will be erased) # - SERVER_EPHEMERIAL (will be saved when player leaves but when the server is stopped or reloaded all the progression will be erased)
# - PLAYER_EPHEMERIAL (running quests will not be saved when player leaves or when the server is stopped or reloaded) # - PLAYER_EPHEMERIAL (running quests will not be saved when player leaves or when the server is stopped or reloaded)
# Default : ENABLED
saving: SERVER_EPHEMERIAL saving: SERVER_EPHEMERIAL
# Actions that will make the quest fail if performed
# Default : empty
fail_actions:
- PLAYER_MOB_SHEAR
# The quest can only be started/progressed in those worlds # The quest can only be started/progressed in those worlds
# Default : empty (disabled) # Default : empty (disabled)
world_whitelist: [] world_whitelist: []
...@@ -178,6 +187,15 @@ gui: ...@@ -178,6 +187,15 @@ gui:
- '&7You choose to call yourself {variable:example_nickname}. Noice.' - '&7You choose to call yourself {variable:example_nickname}. Noice.'
- '&7&lYou have completed this quest {completions} time{plural}.' - '&7&lYou have completed this quest {completions} time{plural}.'
- '&7&l{cooldown} remaining before you can start this quest again.' - '&7&l{cooldown} remaining before you can start this quest again.'
# item_cooldown_pool : will be shown when the quest status is 'completed' and the player hasn't reached max_completions and the quest pool cooldown is not over
item_cooldown_pool:
type: DIAMOND_SWORD
name: '&8{name} &8- COOLDOWN'
lore:
- '&7{description}'
- '&7You choose to call yourself {variable:example_nickname}. Noice.'
- '&7&lYou have completed this quest {completions} time{plural}.'
- '&7&l{cooldown} remaining before you can start this quest again.'
# item_completed : will be shown when the quest status is 'completed' and the player has reached max_completions # item_completed : will be shown when the quest status is 'completed' and the player has reached max_completions
item_completed: item_completed:
type: DIAMOND_SWORD type: DIAMOND_SWORD
...@@ -213,7 +231,7 @@ start_conditions: ...@@ -213,7 +231,7 @@ start_conditions:
# You could also set it like this : # You could also set it like this :
#conditions: #conditions:
# - registered_condition # - registered_condition
# ... and register the condition in conditions.yml ; this one is really specific to this quest though so it's not really needed # ... and register the condition in conditions.yml ; this condition above is really specific to this quest though so it's not really needed
# -------------------------------------------------- # --------------------------------------------------
# Quest branches # Quest branches
...@@ -241,10 +259,10 @@ branches: ...@@ -241,10 +259,10 @@ branches:
# settings # settings
type: SERVER_ACTION_LIST type: SERVER_ACTION_LIST
actions: actions:
- 'SOUND VILLAGER_IDLE' - 'SOUND ENTITY_VILLAGER_AMBIENT'
- 'MESSAGE &2[ExampleQuest] &7Hi there &a{player}&7, this is a very simple quest example with multiple paths !' - 'MESSAGE &2[ExampleQuest] &7Hi there &a{player}&7, this is a very simple quest example with multiple paths !'
- 'WAIT 2' - 'WAIT 2'
- 'SOUND VILLAGER_IDLE' - 'SOUND ENTITY_VILLAGER_AMBIENT'
- 'MESSAGE &2[ExampleQuest] &7''kay, first of all, I''ll need you to tell me what your &anickname &7is. I wouldn''t want to call you something you don''t want !' - 'MESSAGE &2[ExampleQuest] &7''kay, first of all, I''ll need you to tell me what your &anickname &7is. I wouldn''t want to call you something you don''t want !'
# ended : when this object is completed, we go to the next object # ended : when this object is completed, we go to the next object
goto: OBJECT 2_NICKNAME goto: OBJECT 2_NICKNAME
...@@ -254,7 +272,7 @@ branches: ...@@ -254,7 +272,7 @@ branches:
# start # start
wait: 3 wait: 3
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
message: '&2[ExampleQuest] &7Please, &bwrite your nickname in the chat &7:' message: '&2[ExampleQuest] &7Please, &bwrite your nickname in the chat &7:'
# name # name
name: 'Tell me your nickname' name: 'Tell me your nickname'
...@@ -285,7 +303,7 @@ branches: ...@@ -285,7 +303,7 @@ branches:
4_COBBLESTONE: 4_COBBLESTONE:
# start # start
sound: sound:
type:VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
message: '&2[ExampleQuest] &7Okay, good. &a{variable:example_nickname}&7, huh ? I''ll remember it ! Okay, I''m gonna need you to &bplace 10 cobblestone blocks&7. Also, &bremember where you''re located&7, I might ask you to go back there at the end.' message: '&2[ExampleQuest] &7Okay, good. &a{variable:example_nickname}&7, huh ? I''ll remember it ! Okay, I''m gonna need you to &bplace 10 cobblestone blocks&7. Also, &bremember where you''re located&7, I might ask you to go back there at the end.'
# name # name
name: 'show off your building skills' name: 'show off your building skills'
...@@ -297,7 +315,7 @@ branches: ...@@ -297,7 +315,7 @@ branches:
# end # end
post_message: '&2[ExampleQuest] &7Congrats &a{variable:example_nickname} &7! That was placed carefully. Or maybe not ? I don''t know, I can''t see. I trust you !' post_message: '&2[ExampleQuest] &7Congrats &a{variable:example_nickname} &7! That was placed carefully. Or maybe not ? I don''t know, I can''t see. I trust you !'
post_sound: post_sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
goto: OBJECT 5_CHOICE goto: OBJECT 5_CHOICE
# '5_CHOICE' : give a choice to the player # '5_CHOICE' : give a choice to the player
...@@ -306,7 +324,7 @@ branches: ...@@ -306,7 +324,7 @@ branches:
wait: 3 wait: 3
message: '&2[ExampleQuest] &7So hey, you can choose what you want to do now.' message: '&2[ExampleQuest] &7So hey, you can choose what you want to do now.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'choose an option' name: 'choose an option'
progress_name: 'choose an option' progress_name: 'choose an option'
...@@ -359,7 +377,7 @@ branches: ...@@ -359,7 +377,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &7Okay. Violence, I see. Welll, go ahead, &bput 5 of those cobblestones in fire&7.' message: '&2[ExampleQuest] &7Okay. Violence, I see. Welll, go ahead, &bput 5 of those cobblestones in fire&7.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'burn those rocks' name: 'burn those rocks'
progress_name: 'fire cobblestone' progress_name: 'fire cobblestone'
...@@ -375,7 +393,7 @@ branches: ...@@ -375,7 +393,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &7Well done. By the way, remember when I told you to remember your location ? Yeah ? Well, &bgo back there&7.' message: '&2[ExampleQuest] &7Well done. By the way, remember when I told you to remember your location ? Yeah ? Well, &bgo back there&7.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'Go back to where you were' name: 'Go back to where you were'
progress_name: 'Find your original location' progress_name: 'Find your original location'
...@@ -384,6 +402,7 @@ branches: ...@@ -384,6 +402,7 @@ branches:
walk_type: WALK_TO walk_type: WALK_TO
location: location:
base: '{variable:example_player_location}' base: '{variable:example_player_location}'
near: 3.0
# end # end
goto: OBJECT 4_DROPMIC_PRE goto: OBJECT 4_DROPMIC_PRE
...@@ -393,7 +412,7 @@ branches: ...@@ -393,7 +412,7 @@ branches:
type: SERVER_ACTION_LIST type: SERVER_ACTION_LIST
actions: actions:
- 'STARTBRANCH 2_1_fire_hint' - 'STARTBRANCH 2_1_fire_hint'
- 'SOUND VILLAGER_IDLE' - 'SOUND ENTITY_VILLAGER_AMBIENT'
- 'MESSAGE &2[ExampleQuest] &7Looks like it''s time to &bdrop the mic&7, doesn''t it ?' - 'MESSAGE &2[ExampleQuest] &7Looks like it''s time to &bdrop the mic&7, doesn''t it ?'
# end - then start the actual object # end - then start the actual object
goto: OBJECT 5_DROPMIC goto: OBJECT 5_DROPMIC
...@@ -412,7 +431,7 @@ branches: ...@@ -412,7 +431,7 @@ branches:
# end # end
post_message: '&2[ExampleQuest] &7You choose violence, &c{variable:example_nickname}&7. For that, you won''t have any rewards. That''s how it works here. Later !' post_message: '&2[ExampleQuest] &7You choose violence, &c{variable:example_nickname}&7. For that, you won''t have any rewards. That''s how it works here. Later !'
post_sound: post_sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
goto: QUEST_SUCCESS goto: QUEST_SUCCESS
# this branch will give tips to the player if needed # this branch will give tips to the player if needed
...@@ -460,7 +479,7 @@ branches: ...@@ -460,7 +479,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &7Okay, that''s a good choice, &a{variable:example_nickname}&7. What about building a nice little house, with log corners, some air windows and a roof made of slabs ? I mean, I won''t be able to detect if you did well and you could literally drop that on the floor, but come on, be nice ! :)' message: '&2[ExampleQuest] &7Okay, that''s a good choice, &a{variable:example_nickname}&7. What about building a nice little house, with log corners, some air windows and a roof made of slabs ? I mean, I won''t be able to detect if you did well and you could literally drop that on the floor, but come on, be nice ! :)'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'do another building excercise' name: 'do another building excercise'
# settings # settings
...@@ -504,7 +523,7 @@ branches: ...@@ -504,7 +523,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &7Well done. By the way, remember when I told you to remember your location ? Yeah ? Well, &bgo back there&7.' message: '&2[ExampleQuest] &7Well done. By the way, remember when I told you to remember your location ? Yeah ? Well, &bgo back there&7.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'Go back to where you were' name: 'Go back to where you were'
progress_name: 'Find your original location' progress_name: 'Find your original location'
...@@ -522,7 +541,7 @@ branches: ...@@ -522,7 +541,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &7That''s a wonderful house. Keep building ! I mean, I can''t really see it because I''m just a voice in the wild, but I''m sure it''s great. You know what ? Take those dollars backs, you deserve that for choosing creation !' message: '&2[ExampleQuest] &7That''s a wonderful house. Keep building ! I mean, I can''t really see it because I''m just a voice in the wild, but I''m sure it''s great. You know what ? Take those dollars backs, you deserve that for choosing creation !'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# settings # settings
type: SERVER_MONEY_CHANGE type: SERVER_MONEY_CHANGE
operation: ADD operation: ADD
...@@ -546,7 +565,7 @@ branches: ...@@ -546,7 +565,7 @@ branches:
wait: 15 wait: 15
message: '&2[ExampleQuest] &7By the way, I''m just letting you know that you can also do something more... just find an acacia forest.' message: '&2[ExampleQuest] &7By the way, I''m just letting you know that you can also do something more... just find an acacia forest.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'find out what''s going on in the acacia forest' name: 'find out what''s going on in the acacia forest'
# settings # settings
...@@ -561,7 +580,7 @@ branches: ...@@ -561,7 +580,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &aYou completed the secret log objective, congrats ! Now that you discovered it, you can go further and craft a workbench.' message: '&2[ExampleQuest] &aYou completed the secret log objective, congrats ! Now that you discovered it, you can go further and craft a workbench.'
sound: sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# name # name
name: 'craft a workbench' name: 'craft a workbench'
progress_name: 'craft workbench' progress_name: 'craft workbench'
...@@ -573,7 +592,7 @@ branches: ...@@ -573,7 +592,7 @@ branches:
# post # post
post_message: '&2[ExampleQuest] &aThat''s it ! That was amazing. Unfortunately I decided to give you absolutely nothing for doing that. Gotcha !' post_message: '&2[ExampleQuest] &aThat''s it ! That was amazing. Unfortunately I decided to give you absolutely nothing for doing that. Gotcha !'
post_sound: post_sound:
type: VILLAGER_IDLE type: ENTITY_VILLAGER_AMBIENT
# -------------------------------------------------- # --------------------------------------------------
# This is an alternate branch, in caves # This is an alternate branch, in caves
...@@ -598,7 +617,7 @@ branches: ...@@ -598,7 +617,7 @@ branches:
# pre # pre
message: '&2[ExampleQuest] &aI''m going to give you some money for mining those 10 iron ores.' message: '&2[ExampleQuest] &aI''m going to give you some money for mining those 10 iron ores.'
sound: sound:
type: ORB_PICKUP type: ENTITY_EXPERIENCE_ORB_PICKUP
# settings # settings
type: SERVER_MONEY_CHANGE type: SERVER_MONEY_CHANGE
operation: ADD operation: ADD
...@@ -619,6 +638,12 @@ success_objects: ...@@ -619,6 +638,12 @@ success_objects:
vertical_offset: 1.0 vertical_offset: 1.0
distance: 2.5 distance: 2.5
random_player: false random_player: false
'2':
message: '&aYou won 60 example quest points !'
type: SERVER_QUEST_POINTS_CHANGE
points_category: 'example'
operation: ADD
value: 60
# -------------------------------------------------- # --------------------------------------------------
# Fail objects # Fail objects
... ...
......