exclamation: type: item material: player_head[skull_skin=8d7d24be-a6b6-44ef-a689-f7b39b00e283|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzJmZjJlNGZkNDE0Y2FiYTU5YzI0NmI5NzY2YjA0MDdjOWRlZWQ1Nzk3ZjQ2NGE1OTE0N2I4OGRmOTZmYzYifX19] instancedquestsetup: type: assignment debug: true actions: on spawn: - foreach ].read[step]>]||>: - inject ]> on damage: - flag playershow: - foreach ].read[damagestep]>]||>: - inject ]> on despawn: - adjust show_entity: - adjust show_entity: - adjust skin: on click: - ~yaml load:.yml id: - flag playershow: - foreach ].read[clickstep]>]||>: - inject ]> questsetup: type: assignment debug: true actions: on assignment: - yaml create id: on spawn: - ~yaml load:.yml id: on despawn: - yaml savefile:.yml id: - if !: - yaml unload id: on chat: - if && == wipe: - determine passively cancelled - wait 2t - remove - flag instanced:! - flag damagestep:1 - flag clickstep:1 - flag proximity_enterstep:1 - flag proximity_exitstep:1 - flag mobprox_enterstep:1 - flag mobprox_exitstep:1 - flag start_fishingstep:1 - flag stop_fishingstep:1 - flag reel_in_fishing_rodstep:1 - foreach : - flag <[value]> damagestep:! - flag <[value]> clickstep:! - flag <[value]> proximity_enterstep:! - flag <[value]> proximity_exitstep:! - flag <[value]> mobprox_enterstep:! - flag <[value]> mobprox_exitstep:! - flag <[value]> start_fishingstep:! - flag <[value]> stop_fishingstep:! - flag <[value]> reel_in_fishing_rodstep:! - yaml create id: - narrate "fresh slate applied" - if && == setup: - determine passively cancelled - flag setupnpc: - inventory open d:trigger_options_gui - if && : - determine passively cancelled - yaml id: set step]>:->:)( - narrate " applied" - inventory open d:quest_options_gui - flag questtext:! on enter proximity: - if !step]>: - flag player proximity_enterstep:1 - foreach ].read[proximity_enterstep]>]||>: - inject ]> on exit proximity: - if !step]>: - flag player proximity_exitstep:1 - foreach ].read[proximity_exitstep]>]||>: - inject ]> on mob enter proximity: - foreach as:player: - if !<[player].has_flag[mobprox_enterstep]>: - flag <[player]> mobprox_enterstep:1 - foreach ].read[mobprox_enter<[player].flag[mobprox_enterstep]>]||>: - inject ]> on mob exit proximity: - foreach as:player: - if !<[player].has_flag[mobprox_exitstep]>: - flag <[player]> mobprox_exitstep:1 - foreach ].read[mobprox_exit<[player].flag[mobprox_exitstep]>]||>: - inject ]> on start fishing: - foreach as:player: - if !<[player].has_flag[start_fishingstep]>: - flag <[player]> start_fishingstep:1 - foreach ].read[start_fishing<[player].flag[start_fishingstep]>]||>: - inject ]> on stop fishing: - foreach as:player: - if !<[player].has_flag[stop_fishingstep]>: - flag <[player]> stop_fishingstep:1 - foreach ].read[stop_fishing<[player].flag[stop_fishingstep]>]||>: - inject ]> on reel in fishing rod: - foreach as:player: - if !<[player].has_flag[reel_in_fishing_rodstep]>: - flag <[player]> reel_in_fishing_rodstep:1 - foreach ].read[reel_in_fishing_rod<[player].flag[reel_in_fishing_rodstep]>]||>: - inject ]> on damage: - if : - if !: - create player save:instanced_npc - flag instanced: - assignment set script:instancedquestsetup to: - lookclose state:true - adjust hide_from_players: - adjust show_entity: - adjust skin: - despawn - spawn - wait 5t - adjust hide_entity: - adjust hide_entity: - flag instance: - flag playershow: - else: - if !step]>: - flag player damagestep:1 - foreach ].read[damagestep]>]||>: - inject ]> on click: - if : - if !: - create player save:instanced_npc - flag instanced: - assignment set script:instancedquestsetup to: - lookclose state:true - adjust hide_from_players: - adjust show_entity: - adjust skin: - despawn - spawn - wait 5t - adjust hide_entity: - adjust hide_entity: - flag instance: - flag playershow: - else: - if !step]>: - flag player clickstep:1 - foreach ].read[clickstep]>]||>: - inject ]> quest_setup_events: type: world debug: true events: on player clicks in trigger_options_gui: - determine passively cancelled - wait 5t - if : - trait mobprox state:true to: - trigger name:proximity state:true npc: radius:10 - flag action: - else if : - trigger name:proximity state:true npc: radius:10 - flag action: - else: - trigger name: state:true npc: - flag action: - narrate " in use" - if !step]>: - flag step:1 - inventory close - inventory open d:quest_options_gui on player clicks in quest_options_gui: - if : - determine passively cancelled - if == icon: - create dropped_item name save:item - if : - adjust item: - else: - adjust item:player_head[skull_skin=8d7d24be-a6b6-44ef-a689-f7b39b00e283|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzJmZjJlNGZkNDE0Y2FiYTU5YzI0NmI5NzY2YjA0MDdjOWRlZWQ1Nzk3ZjQ2NGE1OTE0N2I4OGRmOTZmYzYifX19] - if : - remove - flag icon: - else: - flag icon: - adjust gravity:false - attach to: offset:0,2,0 sync_server - if == save: - yaml savefile:.yml id: - if == reset_steps: - yaml id: set step]>:->:flag)(<<>player<>>)(<<>npc<>>step<&co>1 - if == next_step: - yaml id: set step]>:->:flag)(<<>player<>>)(<<>npc<>>step<&co>+<&co>1 - flag step:+:1 - if == despawn: - yaml id: set [step]>:->:despawn)(<<>npc<>> - if : - flag instanced #wait command section - if == wait: - yaml id: set step]>:->:wait)(2s - flag player command:-<&sp> #for commands that use the selection tool - if || || : - narrate " editor opened" - foreach : - if <[value].before[)(]> == flag: - flag <[value].after[)(]> - inventory close - wait 5t - give questsetupselectionstool #narrate and chat command section - if || : - foreach : - if <[value].before[)(]> == flag: - flag <[value].after[)(]>: - narrate "Please type what you would like to have the npc say" - inventory close on player right clicks with questsetupselectionstool: - determine passively cancelled - yaml id: set step]>:->:)()( - wait 2t - fakespawn slime - narrate "Location set drop the selection tool to complete selections" on player drops questsetupselectionstool: - determine passively cancelled - wait 1t - take questsetupselectionstool - inventory open d:quest_options_gui questsetupselectionstool: type: item material: stick dispaly name: selection_tool despawn: type: task script: - despawn <[value].split[)(].get[2].parsed> walk: type: task script: - wait 1t - ~walk <[value].split[)(].get[2].parsed> <[value].split[)(].get[3]> wait: type: task script: - wait <[value].after[)(]> narrate: type: task script: - if <[value].contains_any_text[$$]> && <[value].contains_any_text[##]>: - narrate <[value].after[)(].replace[$$].with[].replace[##].with[]> targets:> - else if <[value].contains_any_text[$$]>: - narrate <[value].after[)(].replace[$$].with[]> targets:> - else if <[value].contains_any_text[##]>: - narrate <[value].after[)(].replace[##].with[]> targets:> - else: - narrate <[value].after[)(]> targets:> chat: type: task script: - if <[value].contains_any_text[$$]> && <[value].contains_any_text[##]>: - chat <[value].after[)(].replace[$$].with[].replace[##].with[]> - else if <[value].contains_any_text[$$]>: - chat <[value].after[)(].replace[$$].with[]> - else if <[value].contains_any_text[##]>: - chat <[value].after[)(].replace[##].with[]> - else: - narrate <[value].after[)(]> teleport: type: task script: - teleport <[value].split[)(].get[2].parsed> <[value].split[)(].get[3]> animate: type: task script: - narrate stuff flag: type: task script: - flag <[value].split[)(].get[2].parsed> <[value].split[)(].get[3].parsed> #buttons and inventory items trigger_options_gui: type: inventory inventory: chest slots: - [quest_action)(damage] [quest_action)(reel_in_fishing_rod] [quest_action)(stop_fishing] [quest_action)(start_fishing] [quest_action)(mobprox_exit] [quest_action)(mobprox_enter] [quest_action)(proximity_exit] [quest_action)(proximity_enter] [quest_action)(click] quest_action)(damage: type: item debug: false material: wooden_sword display name: damage lore: - triggered when a player hits an npc quest_action)(reel_in_fishing_rod: type: item debug: false material: salmon display name: reel_in_fishing_rod lore: - triggered when the npc reels in the fishing pole quest_action)(stop_fishing: type: item debug: false material: bucket display name: stop_fishing lore: - triggered when an npc stops fishing quest_action)(start_fishing: type: item debug: false material: fishing_rod display name: start_fishing lore: - triggered when an npc starts fishing quest_action)(mobprox_exit: type: item debug: false material: dark_oak_trapdoor display name: mobprox_exit lore: - triggered when a mob leaves the npcs proximity radius quest_action)(mobprox_enter: type: item debug: false material: oak_trapdoor display name: mobprox_enter lore: - triggered when a mob enters the proximity radius quest_action)(proximity_exit: type: item debug: false material: dark_oak_door display name: proximity_exit lore: - triggered when a player leaves the proximity radius quest_action)(proximity_enter: type: item debug: false material: oak_door display name: proximity_enter lore: - triggered when a player enters the proximity radius quest_action)(click: type: item debug: false material: stone_button display name: click lore: - triggered when a player right clicks the npc quest_options_gui: type: inventory inventory: chest slots: - [quest_setup)(narrate] [quest_setup)(chat] [quest_setup)(wait] [quest_setup)(walk] [quest_setup)(teleport_player] [quest_setup)(teleport_npc] [quest_setup)(npcinstance] [quest_setup)(despawn] [quest_setup)(next_step] - [quest_setup)(reset_steps] [quest_setup)(save] [quest_setup)(icon] [] [] [] [] [] [] - [] [] [] [] [] [] [] [] [] quest_setup)(narrate: type: item debug: false material: birch_sign display name: narrate lore: - makes an npc show text only to the player speaking with the npc. - use $$ to have the text return the player's name - use ## to have the text return the npc's name - flag)(questtext quest_setup)(chat: type: item debug: false material: oak_sign display name: chat lore: - makes an npc show text to all players within range. - use $$ to have the text return the player's name - use ## to have the text return the npc's name - flag)(questtext quest_setup)(wait: type: item debug: false material: clock display name: wait lore: - makes a delay for in between text and other commands. - wait)(2s quest_setup)(walk: type: item debug: false material: leather_boots display name: walk lore: - makes an npc walk to a specified location - note needs to be within 20 blocks per walk location - flag)(selectiontoolnpc<&co><<>npc<>> - flag)(selectiontoolcommand<&co>walk quest_setup)(teleport_player: type: item debug: false material: ender_pearl display name: teleport_player lore: - teleports the player to a specified location - flag)(selectiontoolnpc<&co><<>player<>> - flag)(selectiontoolcommand<&co>teleport quest_setup)(teleport_npc: type: item debug: false material: ender_eye display name: teleport_npc lore: - teleports the npc to a specified location - flag)(selectiontoolnpc<&co><<>npc<>> - flag)(selectiontoolcommand<&co>teleport # quest_setup)(npcinstance: type: item debug: false material: glass display name: instance lore: - makes the npc instanced - use despawn to bring the npc back to its original point - automatically brings the npc back to its original point when it despawns - can only be used with damage and click actions # quest_setup)(despawn: type: item debug: false material: heart_of_the_sea display name: despawn lore: - despawns the npc # quest_setup)(next_step: type: item debug: false material: stone_brick_stairs display name: next_step lore: - adds a new step to the npc - use this to make the player have - to click the npc for the next step # quest_setup)(reset_steps: type: item debug: false material: stone_bricks display name: reset_steps lore: - resets the npc steps for the selected action - to start the quest over - use at the end of your last step - when you want a repeating quest # quest_setup)(save: type: item debug: false material: chest display name: save lore: - saves this quest # quest_setup)(icon: type: item debug: false material: player_head[skull_skin=8d7d24be-a6b6-44ef-a689-f7b39b00e283|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzJmZjJlNGZkNDE0Y2FiYTU5YzI0NmI5NzY2YjA0MDdjOWRlZWQ1Nzk3ZjQ2NGE1OTE0N2I4OGRmOTZmYzYifX19] display name: add_icon lore: - adds an icon over the npcs head - optionally use a player head for more icons - hold a player head item in your hand before - executing this command the held item will become the icon # quest_setup)(clickable_text: type: item debug: false material: acacia_sign display name: clickable_text lore: - moves to the next step - make it as if the player - was selecting dialogue - input your own dialogue # quest_setup)(previous_step: type: item debug: false material: cobblestone_stairs display name: previous_step lore: - takes the player back a step