Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
options:
prefix: &cParkour> &f
aliases: /pk, /park
command: parkour
permission: parkour.play
permissionmsg: &cYou cannot use that.
adminpermission: parkour.admin
finishblock: sponge
on place:
if {in.parkour::%uuid of player%} is set:
cancel the event
on break:
if {in.parkour::%uuid of player%} is true:
cancel event
command /{@command} [<text>] [<text>] [<text>] [<text>]:
permission: {@permission}
permission message: {@permissionmsg}
aliases: {@aliases}
trigger:
if arg 1 is not set:
send "&c------------------+"
send "&7Join: &f/parkour join [map]"
send "&7Leave: &f/parkour leave"
send "&7Maps: &f/parkour maps"
send "&c------------------+"
if arg 1 is set:
if arg 1 is "admin":
if player has permission "{@adminpermission}":
if arg 2 is not set:
send "&c------------------+"
send "&7Lobby: &f/parkour admin set lobby"
send "&7Create: &f/parkour admin create [map name]"
send "&7Remove: &f/parkour admin remove [map name]"
send "&7Finish: &f/parkour admin set finish [map name]"
send "&7Start: &f/parkour admin set start [map name]"
send "&c------------------+"
if arg 2 is set:
if arg 2 is "create":
if arg 3 is not set:
send "{@prefix}A name must be set."
if arg 3 is set:
if {parkour.maps::*} contains arg 3:
send "{@prefix}A parkour map with that name is already set."
else:
set {parkour.maps::%arg 3%} to arg 3
send "{@prefix}Parkour map %arg 3% has been created. You have to set a finish and start point for map %arg 3% before it can be used."
if arg 2 is "remove":
if arg 3 is not set:
send "{@prefix}A name must be set."
if arg 3 is set:
if {parkour.maps::*} contains arg 3:
send "{@prefix}Parkour map %arg 3% has been removed."
delete {parkour.maps::%arg 3%}
delete {parkour.start::%arg 3%}
delete {parkour.finish::%arg 3%}
else:
send "{@prefix}A parkour map with that name has not been set."
if arg 2 is "set":
if arg 3 is not set:
send "{@prefix}You must specify finish, start, or lobby."
if arg 3 is set:
if arg 3 is "lobby":
set {parkour.lobby} to location of player
send "{@prefix}The parkour lobby has been set to your location."
if arg 3 is "finish":
if arg 4 is not set:
send "{prefix}A name must be set."
if arg 4 is set:
if {parkour.maps::*} contains arg 4:
set block below player to {@finishblock}
send "{@prefix}The finish point of parkour map %arg 4% has been set to your location. Change the finish point by moving the {@finishblock} below you."
else:
send "{@prefix}A parkour map with that name has not been set."
if arg 3 is "start":
if arg 4 is not set:
send "{prefix}A name must be set."
if arg 4 is set:
if {parkour.maps::*} contains arg 4:
set {parkour.start::%arg 4%} to location of player
send "{@prefix}The start point of parkour map %arg 4% has been set to your location."
else:
send "{@prefix}A parkour map with that name has not been set."
else if arg 3 is not "lobby" or "start" or "finish":
send "{@prefix}/{@command} %arg 1% %arg 2% %arg 3% is not a parkour command."
else if arg 2 is not "set" or "remove" or "create":
send "{@prefix}/{@command} %arg 1% %arg 2% is not a parkour command."
else:
send "{@permissionmsg}"
if arg 1 is "join":
if {in.parkour::%uuid of player%} is set:
send "{@prefix}You are already in a parkour map. Use /{@command} leave to get back to the parkour lobby."
else:
if arg 2 is not set:
send "{@prefix}A name must be set."
if arg 2 is set:
if {parkour.maps::*} contains arg 2:
if {parkour.start::%arg 2%} is set:
if {parkour.finish::%arg 2%} is set:
teleport the player to {parkour.start::%arg 2%}
set {parkour::%uuid of player%} to arg 2
set {in.parkour::%uuid of player%} to 1
send "{@prefix}Welcome to parkour map %arg 2%. Have fun!"
else:
send "{@prefix}Parkour map %arg 2% is improperly defined. Contact an administrator."
else:
send "{@prefix}Parkour map %arg 2% is improperly defined. Contact an administrator."
else:
send "{@prefix}A parkour map with that name has not been set."
if arg 1 is "leave":
if {in.parkour::%uuid of player%} is set:
teleport the player to {parkour.lobby}
send "{@prefix}Welcome to the parkour lobby. Use /{@command} join [map] to play another parkour map."
delete {parkour::%uuid of player%}
delete {in.parkour::%uuid of player%}
else:
send "{@prefix}You are not in a parkour map."
if arg 1 is "maps":
send "&c------------------+"
send "&7Maps:"
send "&f%{parkour.maps::*}%"
send "&c------------------+"
else if arg 1 is not "leave" or "admin" or "join" or "maps":
send "{@prefix}/{@command} %arg 1% is not a parkour command."
on quit:
execute player command "/parkour leave"
on any move:
if {in.parkour::%uuid of player%} is set:
if block below player is {@finishblock}:
send "{@prefix}Congratulations! You finished parkour map %{parkour::%uuid of player%}% and have received rewards!"
execute player command "/parkour leave"
# Put rewards here
execute console command "/coins %player% 50"
# Put rewards here