# __ __ .__ .___
# / \ / \|__|_____________ _______ __| _/ ______
# \ \/\/ /| |\___ /\__ \ \_ __ \ / __ | / ___/
# \ / | | / / / __ \_| | \// /_/ | \___ \
# \__/\ / |__|/_____ \(____ /|__| \____ |/____ >
# \/ \/ \/ \/ \/
options:
# --- Wand Names --- #
Tier1: &7Apprentice Wand
Tier2: &2Adept Wand
Tier3: &6Master Wand
Tier4: &4Grandmaster Wand
Tier5: &8Shadowmaster Wand
# --- Don't change anything below! --- #
Super-Wand-Names: "{@Tier3}" or "{@Tier4}" or "{@Tier5}"
on join:
set {mana.%player%} to 20
if {wizard.%player%.level} is not set:
set {wizard.%player%.level} to 1
set {wizard.%player%.exp} to 0
make player execute command "/wizard lcheck"
every 1 second:
loop all players:
if {mana.%loop-player%} is less than 20:
add 1 to {mana.%loop-player%}
on first join:
set {wizard.%player%.level} to 1
command /wizarda [<text="">] [<text>]:
permission: wizard.admin-command
trigger:
arg 1 is "":
send "/wizarda"
arg 1 is "wands":
player has stick named "{@Tier1}" or "{@Tier2}" or "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
send "You already had a wand!"
stop trigger
else:
give 1 stick named "{@Tier1}" to the player
give 1 stick named "{@Tier2}" to the player
give 1 stick named "{@Tier3}" to the player
give 1 stick named "{@Tier4}" to the player
give 1 stick named "{@Tier5}" to the player
on death of a living entity:
loop players in radius 20 around the victim:
if {wizard.%loop-player%.killcount} is more than {wizard.%loop-player%.goalexp}:
add 1 to {wizard.%loop-player%.level}
make the loop-player execute "/wizard lcheck"
add 1 to {wizard.%loop-player%.exp}
chance of 50%:
add 1 to {wizard.%loop-player%.exp}
chance of 25%:
add 1 to {wizard.%loop-player%.exp}
command /wizard [<text="">]:
trigger:
arg 1 is "wand":
player has stick named "{@Tier1}" or "{@Tier2}" or "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
send "You already had a wand!"
stop trigger
else:
give 1 stick named "{@Tier1}" to the player
arg 1 is "clear":
set {wizard.%player%.click1} to "none"
set {wizard.%player%.click2} to "none"
wait a second
set {wizard.%player%.performing} to false
arg 1 is "stats":
send "&6&lIGN:&r&e %player%"
send "&5&lTitle:&r&d %{wizard.%player%.title}%"
send "&9&lMana:&r&3 %{mana.%player%}%"
send "&2&lLevel:&r&a %{wizard.%player%.level}%"
send "&3&lExperience: &b%{wizard.%player%.exp}%/%{wizard.%player%.goalexp}%"
arg 1 is "lcheck":
if {wizard.%player%.level} is less than 9:
set {wizard.%player%.goalexp} to 500
set {wizard.%player%.title} to "Apprentice"
if {wizard.%player%.level} is more than 9:
set {wizard.%player%.goalexp} to 625
set {wizard.%player%.title} to "Journeyman"
if {wizard.%player%.level} is more than 19:
set {wizard.%player%.goalexp} to 750
set {wizard.%player%.title} to "Adept"
if {wizard.%player%.level} is more than 29:
set {wizard.%player%.goalexp} to 900
set {wizard.%player%.title} to "Master"
if {wizard.%player%.level} is more than 39:
set {wizard.%player%.goalexp} to 1250
set {wizard.%player%.title} to "Master"
if {wizard.%player%.level} is more than 49:
set {wizard.%player%.goalexp} to 1500
set {wizard.%player%.title} to "Grandmaster"
if {wizard.%player%.level} is more than 59:
set {wizard.%player%.goalexp} to 1750
set {wizard.%player%.title} to "Legendary"
set player's display name to "%player% - &8[&6Lvl%{wizard.%player%.level}%&8]"
command /castspell:
trigger:
if {wizard.%player%.click1} is "right":
if {wizard.%player%.click2} is "right":
# Teleport - Tier 2 to 5 - Right - Right - Right
if {wizard.%player%.level} is smaller than 10:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
if {mana.%player%} is smaller than 5:
make player execute command "/wizard clear"
send "&9You do not have enough mana."
stop
name of held item is "{@Tier2}" or "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
set {wizard.%player%.tptarget} to location of targeted block
distance between the player and {wizard.%player%.tptarget} is larger than 16:
send "&dTry teleporting somewhere closer!"
distance between the player and {wizard.%player%.tptarget} is smaller than 16:
send "&dTeleported!"
teleport player to {wizard.%player%.tptarget}
make the console execute command "/playsound mob.endermen.portal %player%"
subtract 5 from {mana.%player%}
if {wizard.%player%.click2} is "left":
# Lightning - Tier 1 to 3 Wands only - Right - Right - Left
if {wizard.%player%.level} is smaller than 35:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
if {mana.%player%} is smaller than 10:
send "&9You do not have enough mana."
make player execute command "/wizard clear"
stop
set {wizard.%player%.lttarget} to location of targeted block
name of held item is "{@Tier3}":
distance between the player and {wizard.%player%.lttarget} is larger than 16:
send "&dYou can not strike lightning that far!"
distance between the player and {wizard.%player%.lttarget} is smaller than 16:
loop 3 times:
strike lightning at targeted block
create a safe explosion of force 2 at the targeted block
subtract 10 from {mana.%player%}
name of held item is "{@Tier4}":
distance between the player and {wizard.%player%.lttarget} is larger than 24:
send "&dYou can not strike lightning that far!"
distance between the player and {wizard.%player%.lttarget} is smaller than 24:
loop 3 times:
strike lightning at targeted block
create a safe explosion of force 2 at the targeted block
subtract 10 from {mana.%player%}
# Shadowmorph - Tier 5 Wand only - Right - Right - Left
name of held item is "{@Tier5}":
if {wizard.%player%.level} is smaller than 50:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
spawn 15 bats at location of player
spawn 15 bats at location of player's head
apply swiftness 2 to player for 7 seconds
apply invisibility to player for 7 seconds
wait 5 seconds
loop entities in radius 50 around the player:
loop-entity is bat:
kill loop-entity
wait 2 seconds
spawn 15 bats at location of player
spawn 15 bats at location of player's head
wait 5 seconds
loop entities in radius 50 around the player:
loop-entity is bat:
kill loop-entity
subtract 10 from {mana.%player%}
if {wizard.%player%.click1} is "left":
if {wizard.%player%.click2} is "right":
# Heal Aura - Right - Left - Right
if {mana.%player%} is smaller than 7:
send "&9You do not have enough mana."
make player execute command "/wizard clear"
stop
send "&d%player% healed you!"
make the console execute command "/playsound portal.travel %player%"
heal the player by 3.5 hearts
loop players in radius 5 around the player:
heal the loop-player by 3.5 hearts
send "&d%player% healed you!" to loop-player
make the console execute command "/playsound portal.travel %loop-player%"
exit loop
subtract 7 from {mana.%player%}
if {wizard.%player%.click2} is "left":
if {wizard.%player%.level} is smaller than 25:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
if {mana.%player%} is smaller than 15:
send "&9You do not have enough mana."
make player execute command "/wizard clear"
stop
# Meteor - Right - Left - Left
name of held item is "{@Tier3}":
create a safe explosion of force 1 2 meters in front of the player's head
create a safe explosion of force 1 4 meters in front of the player's head
create a safe explosion of force 2 6 meters in front of the player's head
create a safe explosion of force 2 8 meters in front of the player's head
create a safe explosion of force 2 10 meters in front of the player's head
create a safe explosion of force 2 12 meters in front of the player's head
# Meteor Storm - Right - Left - Left
name of held item is "{@Tier4}":
if {wizard.%player%.level} is smaller than 40:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
loop entities in radius 6 around the player:
create a fake explosion 10 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 8 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 6 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 4 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 2 meters above the loop-entity's head
wait 1 ticks
create a safe explosion of force 1 at the loop-entity
subtract 15 from {mana.%player%}
name of held item is "{@Tier5}":
if {wizard.%player%.level} is smaller than 60:
send "&4You are incapable of casting more complex spells."
make player execute command "/wizard clear"
stop
loop entities in radius 7 around the player:
create a fake explosion 10 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 8 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 6 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 4 meters above the loop-entity's head
wait 1 ticks
create a fake explosion 2 meters above the loop-entity's head
wait 1 ticks
create a safe explosion of force 1 at the loop-entity
subtract 15 from {mana.%player%}
set {wizard.%player%.click1} to "none"
set {wizard.%player%.click2} to "none"
wait a second
set {wizard.%player%.performing} to false
chance of 50%:
make player execute command "/wizard lcheck"
on join:
set {attack.%player%} to 3
every 1.3 second:
loop all players:
if {attack.%loop-player%} is less than 2:
add 2 to {attack.%loop-player%}
on leftclick with stick:
cancel event
name of held item is "{@Tier1}" or "{@Tier2}" or "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
{wizard.%player%.performing} is true:
cancel event
make the console execute command "/playsound random.click %player%"
if {wizard.%player%.click1} is "right" or "left":
set {wizard.%player%.click2} to "left"
make player execute command "/castspell"
stop
set {wizard.%player%.click1} to "left"
stop
else:
name of held item is "&7Apprentice Wand":
make the player shoot an arrow at speed 2
make the console execute command "/playsound random.pop %player%"
stop
name of held item is "&2Adept Wand":
make the player shoot an arrow at speed 5
make the player shoot an snowball at speed 5
make the console execute command "/playsound random.pop %player%"
stop
on leftclick with stick:
cancel event
{wizard.%player%.performing} is true:
cancel event
stop
name of held item is "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
if {attack.%player%} is less than 2:
cancel event
stop
if {attack.%player%} is more than 2:
name of held item is "&6Master Wand":
make the player shoot a fireball
subtract 2 from {attack.%player%}
make the console execute command "/playsound mob.ghast.fireball %player%"
name of held item is "&4Grandmaster Wand":
create a safe explosion of force 1 2 meters in front of the player's head
create a safe explosion of force 1 4 meters in front of the player's head
create a safe explosion of force 2 6 meters in front of the player's head
create a safe explosion of force 2 8 meters in front of the player's head
create a safe explosion of force 2 10 meters in front of the player's head
create a safe explosion of force 2 12 meters in front of the player's head
subtract 2 from {attack.%player%}
stop
name of held item is "&8Shadowmaster Wand":
create a safe explosion of force 1 2 meters in front of the player's head
create a safe explosion of force 2 4 meters in front of the player's head
create a safe explosion of force 2 6 meters in front of the player's head
create a safe explosion of force 2 8 meters in front of the player's head
create a safe explosion of force 2 10 meters in front of the player's head
create a safe explosion of force 3 12 meters in front of the player's head
spawn 5 bats 12 meters in front of the player's head
subtract 2 from {attack.%player%}
stop
on rightclick with stick:
name of held item is "{@Tier1}" or "{@Tier2}" or "{@Tier3}" or "{@Tier4}" or "{@Tier5}":
{wizard.%player%.performing} is true:
make the console execute command "/playsound random.click %player%"
if {wizard.%player%.click1} is "right" or "left":
set {wizard.%player%.click2} to "right"
make player execute command "/castspell"
stop
set {wizard.%player%.click1} to "right"
stop
else:
make the console execute command "/playsound random.click %player%"
set {wizard.%player%.performing} to true
wait 3 seconds
set {wizard.%player%.performing} to false
set {wizard.%player%.click1} to "none"
set {wizard.%player%.click2} to "none"
on projectile hit:
delete the projectilee a safe explosion of force 2 10 meters in front of the player's head
create a safe explosion of force 3 12 meters in front of the player's head
spawn 5 bats 12 meters in front of the player's head
subtract 2 from {attack.%p