Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # cost:cooldown
- # droom = anvil attack = (Spell_Level / 2) + 1 Explosion_Size 40:15
- # fireball = (Spell_Level * .25) +.8 Explosion_Size 30:15
- # lance = lance of explosions = Spell_Level * 6 Lance_Size 75:50
- # lighting strike = right click on chasm = Spell_Level * 10 length 50:20
- # magic missile = (Spell_Level / 2) + 2.5 Damage, Spell_Level * 15 Length 15:5
- # flash = Warp = (Spell_Level * 10) + 20 Range 50:50
- on first join:
- give player 1 blaze rod named "&6&lWand &7No active spell" with lore "&bLeft click to cast a spell, &3Right click to choose one!"
- give player 128 redstone named "&4Mana"
- options:
- protection.level: 6 #This is the level of protection mana mobs will have on their armor#
- droprate.min: 10 #this is the minimum amout of mana a manamob will drop#
- droprate.max: 32 #this is the maximum amount of mana a manamob will drop#
- convert.rate: 10 #this is the amount of redstone required to make 1 mana in a mana converter#
- fragment.rate: 1% #this is the percent chance of a mana mob dropping a wand fragment#
- #below are the mana costs per spell#
- mana.Warp: 120
- mana.heal: 50
- mana.rapidfire: 15
- mana.speedboost: 20
- mana.minibomb: 20
- mana.raindance: 512 #note: this is very high because players changing the weather constantly is annoying#
- mana.droom: 40
- mana.fireball: 30
- mana.lance: 75
- mana.lightning_strike: 50
- mana.magic_blast: 15
- mana.implode: 1 # 50
- mana.leap: 40
- mana.ghost: 180
- mana.nofall: 45
- #below are the cooldowns per spell (in seconds)#
- timer.Warp: 60
- timer.heal: 30
- timer.rapidfire: 5
- timer.speedboost: 30
- timer.minibomb: 15
- timer.raindance: 3600
- timer.implode: 1 # 30
- timer.leap: 8
- timer.ghost: 1
- timer.nofall: 20
- on spawn of skeleton or zombie:
- chance of 7%:
- equip event-entity with leather helmet of protection {@protection.level} named "&4Mana Helmet"
- equip event-entity with leather chestplate of protection {@protection.level} named "&4Mana Chestplate"
- equip event-entity with leather leggings of protection {@protection.level} named "&4Mana Leggings"
- equip event-entity with leather boots of protection {@protection.level} named "&4Mana Boots"
- dye event-entity's helmet red
- dye event-entity's chestplate red
- dye event-entity's leggings red
- dye event-entity's boots red
- if event-entity is a zombie:
- set tool of event-entity to iron sword of sharpness 2 and fire aspect 1 named "&4Mana Sword"
- else if event-entity is a skeleton:
- set tool of event-entity to bow of punch 1 and flame 1 named "&4Mana Bow"
- set {manamob.%event-entity%} to true
- on death:
- if {manamob.%victim%} is true:
- set {_count} to a random integer between {@droprate.min} and {@droprate.max}
- loop {_count} times:
- add redstone named "&4Mana" to drops
- chance of {@fragment.rate}:
- add 1 blaze powder named "&6&oWand Fragment" to drops
- on death:
- world is "troopcraft" or "troopcraft_nether" or "troopcraf_the_end":
- chance of 5%:
- add 3 redstone named "&4Mana" to drops
- chance of 1%:
- set {_count} to a random integer between {@droprate.min} and {@droprate.max}
- loop {_count} times:
- add redstone named "&4Mana" to drops
- chance of 1%:
- chance of 1%:
- add 1 blaze powder named "&6&oWand Fragment" to drops
- #on right click on stone button:
- # loop blocks in radius 3 around event-block:
- # if loop-block is stone brick stairs:
- # add 1 to {_count.stonebrick} #should be 6#
- # if loop-block is double stone slab:
- # add 1 to {_count.stoneslab} #should be 2#
- # if loop-block is a chest:
- # set {_chest} to location of loop-block
- # if loop-block is a dropper:
- # set {_output} to location of loop-block
- # if {_count.stonebrick} > 5:
- # if {_count.stoneslab} > 1:
- # if {_output} is set:
- # if {_chest} is set:
- # loop all items in block at {_chest}:
- # if loop-item is redstone:
- # set {_count.stack} to amount of loop-item in block at {_chest}
- # add {_count.stack} to {_count.redstone}
- # while {_count.redstone} > {@convert.rate} - 1:
- # remove 10 redstone from block at {_chest}
- # remove 10 from {_count.redstone}
- # add 1 redstone named "&4Mana" to block at {_output}
- on right click:
- world is "troopcraft" or "troopcraft_nether" or "troopcraf_the_end"
- {manachest.picking.%uuid of player%} is true:
- set {manachest.%uuid of player%} to event-block
- message "&3You set your mana chest to the %event-block% at &b%{manachest.%uuid of player%}%"
- set {manachest.picking.%uuid of player%} to false
- command /wand:
- aliases: /wandgive
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- give player 1 blaze rod named "&6&lWand &7No active spell" with lore "&bLeft click to cast a spell, &3Right click to choose one!"
- command /mana [<text>] [<integer>]:
- aliases: /magic, /magicka, /magik
- trigger:
- if arg 1 is not set:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- message "&3You have &b%{_mana}% &3mana!"
- stop
- else if arg 1 is "set":
- set {manachest.%uuid of player%} to location of target block
- message "&3You set your mana chest to the %target block% at &b%{manachest.%uuid of player%}%"
- else if arg 1 is "handset":
- set {manachest.picking.%uuid of player%} to true
- message "&3Click a &bchest &3to select your chest!"
- else if arg 1 is "open":
- if {manachest.%uuid of player%} isn't set:
- message "&3You need to set a &bMana Chest &3to open your mana storage!"
- message "&3To do this, look at your specified chest and type ""&b/mana set&3""!"
- stop
- open inventory of block at {manachest.%uuid of player%} to player
- message "&bHere you go!"
- else if arg 1 is "give":
- if player doesn't have permission "skript.op":
- message "Unknown command. Type ""/help"" for help."
- stop
- if arg 2 isn't set:
- message "&cError! Invalid amount of redstone!"
- stop
- if arg 2 < 1:
- message "&cError! Invalid amount of redstone!"
- stop
- set {_count} to arg 2
- loop {_count} times:
- give player 1 redstone named "&4Mana"
- else:
- send "&3You need a wand to perform the most basic of magic! &4The easiest way to get a wand is by killing mobs. &2Of course there is a cost, which is called mana. &cYou can either kill mobs or convert redstone in a converter to gain this mana."
- on click:
- player's tool is redstone named "&4Mana":
- cancel the event
- on mine:
- if block is a dispenser:
- if block contains 4 diamond blocks:
- if block contains 1 blaze rod:
- if block contains 4 gold blocks:
- if block contains 1 emerald:
- set {_loc} to location of target block
- cancel the event
- clear block's inventory
- set block to air
- wait 1 tick
- drop a blaze rod named "&6&lWand &7No active spell" at {_loc}
- if block contains 4 diamonds:
- if block contains 4 gold ingots:
- if block contains 1 emerald:
- if block contains 3 blaze powder named "&6&oWand Fragment":
- set {_loc} to location of target block
- cancel the event
- clear block's inventory
- set block to air
- wait 1 tick
- drop a blaze rod named "&6&lWand &7No active spell" at {_loc}
- command /spell-Warp:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.Warp}:
- message "&3You need at least &c{@mana.Warp} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.Warp.%player%} and now
- if {_difference} is less than {@timer.Warp} seconds:
- set {_difference} to difference between {_difference} and {@timer.Warp} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.Warp.%player%} to now
- if {_mana.inv} >= {@mana.Warp}:
- remove {@mana.Warp} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.Warp}:
- remove {@mana.Warp} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- shoot an enderpearl with velocity 4
- set {nofall.%player%} to true
- set {enderwand.%projectile%} to true
- command /spell-heal:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.heal}:
- message "&3You need at least &c{@mana.heal} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.heal.%player%} and now
- if {_difference} is less than {@timer.heal} seconds:
- set {_difference} to difference between {_difference} and {@timer.heal} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.heal.%player%} to now
- if {_mana.inv} >= {@mana.heal}:
- remove {@mana.heal} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.heal}:
- remove {@mana.heal} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- heal the player by 40 hearts
- send "&2Care Package Received!"
- command /spell-rapidfire:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.rapidfire}:
- message "&3You need at least &c{@mana.rapidfire} Mana &3 plus an additional &c1 &3Mana per arrow to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.rapidfire.%player%} and now
- if {_difference} is less than {@timer.rapidfire} seconds:
- set {_difference} to difference between {_difference} and {@timer.rapidfire} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.rapidfire.%player%} to now
- if {_mana.inv} >= {@mana.rapidfire}:
- remove {@mana.rapidfire} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.rapidfire}:
- remove {@mana.rapidfire} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- subtract {@mana.rapidfire} from {_mana.inv}
- loop 20 times:
- if {_mana.inv} >= {@mana.rapidfire}:
- if {_mana.inv} > 0:
- make player shoot arrow at velocity 3
- set {rapidfire.%last shot projectile%} to true
- play raw sound "random.bow" at player with pitch 1 volume 1
- if {_mana.inv} > 0:
- remove 1 redstone named "&4Mana" from player
- subtract 1 from {_mana.inv}
- else if {_mana.inv} < 1:
- remove 1 redstone named "&4Mana" from block at {manachest.%uuid of player%}
- remove 1 from {_mana.inv}
- wait 2 ticks
- if {_mana.inv} < 0:
- send "&3Mana is out"
- stop
- else if {_mana.inv} < {@mana.rapidfire}:
- if {_mana.chest} > 0:
- make player shoot arrow at velocity 3
- set {rapidfire.%last shot projectile%} to true
- play raw sound "random.bow" at player with pitch 1 volume 1
- if {_mana.inv} > 0:
- remove 1 redstone named "&4Mana" from player
- subtract 1 from {_mana.chest}
- else if {_mana.chest} < 1:
- remove 1 redstone named "&4Mana" from block at {manachest.%uuid of player%}
- remove 1 from {_mana.chest}
- wait 2 ticks
- if {_mana.chest} < 0:
- send "&3Mana is out"
- stop
- command /spell-speedboost:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.speedboost}:
- message "&3You need at least &c{@mana.speedboost} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.speedboost.%player%} and now
- if {_difference} is less than {@timer.speedboost} seconds:
- set {_difference} to difference between {_difference} and {@timer.speedboost} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.speedboost.%player%} to now
- if {_mana.inv} >= {@mana.speedboost}:
- remove {@mana.speedboost} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.speedboost}:
- remove {@mana.speedboost} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- set player's walk speed to 0.6
- wait 30 seconds
- set player's walk speed to 0.2
- on join:
- set player's walk speed to 0.2
- command /spell-minibomb:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.minibomb}:
- message "&3You need at least &c{@mana.minibomb} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.minibomb.%player%} and now
- if {_difference} is less than {@timer.minibomb} seconds :
- set {_difference} to difference between {_difference} and {@timer.minibomb} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.minibomb.%player%} to now
- if {_mana.inv} >= {@mana.minibomb}:
- remove {@mana.minibomb} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.minibomb}:
- remove {@mana.minibomb} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- shoot a snowball at velocity 1.5
- set {minibomb.%last shot projectile%} to true
- command /spell-raindance:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.raindance}:
- message "&3You need at least &c{@mana.raindance} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.raindance.%player%} and now
- if {_difference} is less than {@timer.raindance} seconds:
- set {_difference} to difference between {_difference} and {@timer.raindance} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.raindance.%player%} to now
- if {_mana.inv} >= {@mana.raindance}:
- remove {@mana.raindance} redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.raindance}:
- remove {@mana.raindance} redstone named "&4Mana" from block at {manachest.%uuid of player%}
- run player command "/toggledownfall" as op
- broadcast "&9&o%player% has performed a rain dance . . ."
- command /spell-implode:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.implode}:
- message "&3You need at least &c{@mana.implode} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.implode.%player%} and now
- if {_difference} is less than {@timer.implode} seconds:
- set {_difference} to difference between {_difference} and {@timer.implode} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.implode.%player%} to now
- if {_mana.inv} >= {@mana.implode}:
- remove {@mana.implode} of redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.implode}:
- remove {@mana.implode} of redstone named "&4Mana" from block at {manachest.%uuid of player%}
- add east to {_listofdirections::*}
- add west to {_listofdirections::*}
- add south to {_listofdirections::*}
- add north to {_listofdirections::*}
- set {_loc} to targeted block
- play raw sound "random.explode" at {_loc} with pitch 1 volume 10
- # play 60 of effect "blockcrack_35_14" with data 1 at {_loc}
- # play 55 of effect "lava" with data 1 at {_loc}
- #loop blocks in radius 4 around block at {_loc}:
- loop blocks in radius 3 around block at {_loc}:
- #message "%loop-block's type%" to all players
- "%loop-block%" does not contain "air" or "bedrock" or "obsidian" or "barrier":
- clear {_check}
- distance between loop-block and {_loc} is greater than 3.2:
- chance of 50%:
- set {_check} to true
- distance between loop-block and {_loc} is greater than 5:
- set {_check} to true
- if "%loop-block%" contains "torch" or "lever" or "sign" or "wheat" or "carrot" or "layer" or "potato" or "cake" or "button" or "long" or "stem" or "redstone" or "fire" or "wire" or "diode" or "door" or "sand" or "gravel" or "sapling" or "leaves" or "mushroom" or "poppy" or "dandelion" or "fern" or "orchid" or "allium" or "bluet" or "tulip" or "daisy" or "ladder" or "carpet" or "vine" or "lily" or "anvil" or "lilac" or "flower" or "rose" or "peony" or "bed" or "diode" or "comparator" or "plate" or "hook" or "rail":
- if "%loop-block%" does not contain "block":
- if "%loop-block%" contains "sign":
- set {fallingblocks.soft.sign.1::%location of loop-block%} to "%line 1 of loop-block%"
- set {fallingblocks.soft.sign.2::%location of loop-block%} to "%line 2 of loop-block%"
- set {fallingblocks.soft.sign.3::%location of loop-block%} to "%line 3 of loop-block%"
- set {fallingblocks.soft.sign.4::%location of loop-block%} to "%line 4 of loop-block%"
- #message "Soft" to all players
- set {fallingblocks.soft.location::%location of loop-block%} to location of loop-block
- set {fallingblocks.soft.blocktype::%location of loop-block%} to loop-block's type
- set {fallingblocks.soft.time::%location of loop-block%} to now
- add loop-block's location to {_blocks.soft::*}
- if {fallingblocks.soft.location::%location of loop-block%} is not set:
- if {_check} is not set:
- #message "Hard" to all players
- set {fallingblocks.hard.location::%location of loop-block%} to location of loop-block
- #message "%loop-block's type%" to all players
- set {fallingblocks.hard.blocktype::%location of loop-block%} to loop-block's type
- set {fallingblocks.hard.time::%location of loop-block%} to now
- add loop-block's location to {_blocks.hard::*}
- else if "%loop-block%" is "air":
- if {fallingblocks.hard.time::%location of loop-block%} is set:
- set {fallingblocks.hard.time::%location of loop-block%} to now
- else if {fallingblocks.soft.time::%location of loop-block%} is set:
- set {fallingblocks.soft.time::%location of loop-block%} to now
- loop {_blocks.soft::*}:
- # make player break block at loop-value
- block at loop-value is air
- set {_looploc} to location 1 above block at loop-value
- set {_block} to type of block at loop-value
- spawn falling block of {_block} at {_looploc}
- wait 1 tick
- loop {_blocks.hard::*}:
- # make player break block at loop-value
- block at loop-value is air
- set {_looploc} to location 1 above block at loop-value
- set {_block} to type of block at loop-value
- set block at loop-value to air
- spawn falling block of {_block} at {_looploc}
- wait 1 tick
- play raw sound "random.explode" at {_loc} with pitch 1 volume 10
- #play 60 of effect "blockcrack_35_14" with data 1 at {_loc}
- #play 55 of effect "lava" with data 1 at {_loc}
- loop entities in radius 6 around block at {_loc}:
- #message "%loop-entity%"
- "%loop-entity%" is "falling block":
- set {listoffallingblock::%loop-entity%} to true
- set {_speed} to a random number between .3 and 1.2
- push loop-entity up at speed {_speed}
- set {_dir.1} to random element out of {_listofdirections::*}
- set {_dir.2} to random element out of {_listofdirections::*}
- set {_dir.3} to random element out of {_listofdirections::*}
- set {_dir.1.speed} to random number between .1 and .6
- set {_dir.2.speed} to random number between .1 and .6
- set {_dir.3.speed} to random number between .1 and .6
- push loop-entity {_dir.1} at speed {_dir.1.speed}
- push loop-entity {_dir.2} at speed {_dir.2.speed}
- push loop-entity {_dir.3} at speed {_dir.3.speed}
- wait 1 tick
- play raw sound "random.explode" at {_loc} with pitch 1 volume 10
- #play 60 of effect "blockcrack_35_14" with data 1 at {_loc}
- #play 55 of effect "lava" with data 1 at {_loc}
- if size of {fallingblocks.hard.location::*} is greater than 0:
- set {fallingblocks.activate} to true
- command /spell-leap:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.leap}:
- message "&3You need at least &c{@mana.leap} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.leap.%player%} and now
- if {_difference} is less than {@timer.leap} seconds:
- set {_difference} to difference between {_difference} and {@timer.leap} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.leap.%player%} to now
- if {_mana.inv} >= {@mana.leap}:
- remove {@mana.leap} of redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.leap}:
- remove {@mana.leap} of redstone named "&4Mana" from block at {manachest.%uuid of player%}
- push player forward at speed 5
- push player up at speed 1
- set {nofall.%player%} to true
- wait 28 seconds
- delete {nofall.%player%}
- command /spell-ghost:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.ghost}:
- message "&3You need at least &c{@mana.ghost} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.ghost.%player%} and now
- if {_difference} is less than {@timer.ghost} seconds:
- set {_difference} to difference between {_difference} and {@timer.ghost} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.ghost.%player%} to now
- if {_mana.inv} >= {@mana.ghost}:
- remove {@mana.ghost} of redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.ghost}:
- remove {@mana.ghost} of redstone named "&4Mana" from block at {manachest.%uuid of player%}
- set {_loc} to location of player
- set {no.gm.msg.%player%} to true
- run player command "/gmsp" as op
- delete {no.gm.msg.%player%}
- send "&7You are now a ghost!"
- apply water breathing to player for 10 seconds
- wait 10 seconds
- teleport player to {_loc}
- set {no.gm.msg.%player%} to true
- run player command "/gms" as op
- delete {no.gm.msg.%player%}
- teleport player to {_loc}
- send "&6You are a player again!"
- apply hunger 28 to player for 3 seconds
- on server chat send:
- {no.gm.msg.%player%} is false
- packet message contains "Set game mode":
- cancel event
- set {no.gm.msg.%player%} to false
- command /spell-nofall:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set {_mana.inv} to amount of redstone named "&4Mana" in player's inventory
- set {_mana.chest} to amount of redstone named "&4Mana" in block at {manachest.%uuid of player%}
- set {_mana} to {_mana.inv} + {_mana.chest}
- if {_mana} < {@mana.nofall}:
- message "&3You need at least &c{@mana.nofall} Mana &3to use this spell!"
- stop
- set {_difference} to difference between {spell.timer.nofall.%player%} and now
- if {_difference} is less than {@timer.nofall} seconds:
- set {_difference} to difference between {_difference} and {@timer.nofall} seconds
- message "&3Cooldown: &b%{_difference}%"
- stop
- set {spell.timer.nofall.%player%} to now
- if {_mana.inv} >= {@mana.nofall}:
- remove {@mana.nofall} of redstone named "&4Mana" from player
- else if {_mana.inv} < {@mana.nofall}:
- remove {@mana.nofall} of redstone named "&4Mana" from block at {manachest.%uuid of player%}
- set {nofall.%player%} to true
- set {nofall.msg.%player%} to true
- send "&2Your Feather Falling is &lenabled&2!"
- on projectile hit:
- if {rapidfire.%projectile%} is true:
- delete projectile
- delete {rapidfire.%projectile%}
- if {minibomb.%projectile%} is true:
- create safe explosion of force 3.5 at projectile
- # spell run / executing
- on left click:
- player's tool is a blaze rod:
- name of player's tool contains "&6&lWand":
- cancel the event
- if player's world is "troopcraft" or "troopcraft_nether" or "troopcraft_the_end":
- if name of player's tool contains "No active":
- send "&3Right Click to select a spell, &bleft click to cast!"
- stop
- if {spell.%player%} is "Warp" or "heal" or "rapidfire" or "speedboost" or "minibomb" or "raindance" or "ghost" or "leap" or "nofall":
- run player command "/spell-%{spell.%player%}%" as op
- else:
- send "&cThis can only be used in the factions world!"
- stop
- # if {spell.%player%} is "Warp":
- # run player command "/spell-Warp" as op
- # else if {spell.%player%} is "heal":
- # run player command "/spell-heal" as op
- # else if {spell.%player%} is "rapidfire":
- # run player command "/spell-rapidfire" as op
- # else if {spell.%player%} is "speedboost":
- # run player command "/spell-speedboost" as op
- # else if {spell.%player%} is "minibomb":
- # run player command "/spell-minibomb" as op
- # else if {spell.%player%} is "raindance":
- # run player command "/spell-raindance" as op
- # else if {spell.%player%} is "implode":
- # run player command "/spell-implode" as op
- # else if {spell.%player%} is "leap":
- # run player command "/spell-leap" as op
- # format slot of player with named "" with lore "" to run "%player%"
- # spell name and changing # filler = light gray glass
- command /spell-select <player> <text>:
- permission: skript.op
- permission message: Unknown command. Type "/help" for help.
- trigger:
- set name of {_p}'s tool to "%{_spell}%"
- set slot in {_p}'s hand bar to {magik.select.slot.%{_p}%}
- set {_p} to arg 1
- set {_spell} to arg 2
- set {spell.%{_p}%} to "%{_spell}%"
- close {_p}'s inventory
- wait 1 tick
- if {_p}'s tool is blaze rod:
- if name of {_p}'s tool contains "&6&lWand":
- set name of {_p}'s tool to "&6&lWand &3&o %{_spell}%"
- execute console command "title %{_p}% title {""text"":"""",""extra"":[{""text"":""%{_spell}%!"",""color"":""aqua"",""bold"":""true""}]}"
- execute console command "title %{_p}% subtitle {""text"":"""",""extra"":[{""text"":""selected!"",""color"":""aqua"",""bold"":""true""}]}"
- stop
- send "&4&lDon't change your wand around while selecting a spell!!!" to {_p}
- on right click:
- player's tool is a blaze rod:
- name of player's tool contains "&6&lWand":
- set {magik.select.slot.%player%} to player's current hotbar slot
- cancel the event
- wait 1 tick
- open chest with 3 rows named "<black><magic>___<purple><bold>Spell Selector<black><magic>___" to player
- format slot 0 of player with diamond sword named "&4&lOffensive Spells!" with lore "These spells cause damage!" to run "%player%"
- format slot 1 of player with diamond sword named "&4&lOffensive Spells!" with lore "These spells cause damage!" to run "%player%"
- format slot 2 of player with diamond chestplate named "&2&lDefensive Spells!" with lore "These spells defend / support!" to run "%player%"
- format slot 3 of player with diamond chestplate named "&2&lDefensive Spells!" with lore "These spells defend / support!" to run "%player%"
- format slot 4 of player with white glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 5 of player with grass block named "&2&lTerrain Spells!" with lore "These spells alter the environment!" to run "%player%"
- format slot 6 of player with grass block named "&2&lTerrain Spells!" with lore "These spells alter the environment!" to run "%player%"
- format slot 7 of player with gold boots named "&2&lMovement Spells!" with lore "These spells do stuff to how you move!" to run "%player%"
- format slot 8 of player with gold boots named "&2&lMovement Spells!" with lore "These spells do stuff to how you move!" to run "%player%"
- format slot 9 of player with arrow named "&cRapid Fire" with lore "Quickly shoot arrows at the cost of 1 mana/arrow!" to run "spell-select %player% rapidfire"
- format slot 10 of player with firework star named "&cMini-Bomb" with lore "Shoot a terrain-safe grenade!" to run "spell-select %player% minibomb"
- format slot 11 of player with healing potion named "&2Health Boost" with lore "Heals you to double natural heats!" to run "spell-select %player% heal"
- format slot 12 of player with feather named "&fFeather Falling" with lore "Suffer no fall damage on your ||next other-wise damaging fall!" to run "spell-select %player% nofall"
- format slot 13 of player with white glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 14 of player with water bucket named "&9Rain Dance" with lore "Perform a ritual to the Aztec god, Tlaloc!" to run "spell-select %player% raindance"
- format slot 15 of player with ghast tear named "&7Ghost" with lore "Become a spectral Ghost for 10 seconds!" to run "spell-select %player% ghost"
- format slot 16 of player with end portal frame named "&5Warp" with lore "Teleport and hope the chunks are loaded!" to run "spell-select %player% Warp"
- format slot 17 of player with sugar named "&3Speed Boost" with lore "Run faster for 30 seconds!" to run "spell-select %player% speedboost"
- format slot 18 of player with gunpowder named "&0ForcePush<gold><bold>[WIP]" with lore "Push away your foes!" to run "tell %player% &cSorry, but that's not ready, yet..."
- format slot 19 of player with black glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 20 of player with black glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 21 of player with black glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 22 of player with white glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 23 of player with tnt named "&0Implode&6&l[WIP]" with lore "Watch the blocks fly!" to run "tell %player% &cSorry, but that's not ready, yet..."
- format slot 24 of player with black glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- format slot 25 of player with rabbit's foot named "&fLeap" with lore "Leap far and suffer no fall damage!" to run "spell-select %player% leap"
- format slot 26 of player with black glass pane named "<magic><i>filler" with lore "<black><bold><magic>__________" to run "%player%"
- stop
- if player is sneaking:
- execute player command "/mana open"
- stop
- if {spellnum.%player%} is 10:
- set {spell.%player%} to "Equal Exchange"
- set name of player's tool to "&6&lWand of &2Equal Exchange"
- set lore of player's tool to "Use your Thaumaturgy and change the environment! ||&7&oNext spell: &3Warp"
- # set {spell.%player%} to "implode"
- # set name of player's tool to "&6&lWand &8Implode"
- on damage:
- if damage was caused by fall:
- if {nofall.%victim%} is true:
- cancel the event
- delete {nofall.%victim%}
- if {nofall.msg.%victim%} is true:
- send "&cYou used up your anti-fall!"
- delete {nofall.msg.%victim%}
- function mana_converter_south(l: location):
- block north of {mana.stone.button.converter.block} is air
- block north east of {mana.stone.button.converter.block} is air
- block east of {mana.stone.button.converter.block} is air
- block south east of {mana.stone.button.converter.block} is air
- block south of {mana.stone.button.converter.block} is double stone slab item
- block south west of {mana.stone.button.converter.block} is air
- block west of {mana.stone.button.converter.block} is air
- block north west of {mana.stone.button.converter.block} is air
- block at {mana.stone.button.converter.block} is stone button
- set {_chest} to block below {mana.stone.button.converter.block}
- set {_output} to block north of {_chest}
- block north of {_chest} is dropper
- block north east of {_chest} is stone brick stairs
- block east of {_chest} is stone brick stairs
- block south east of {_chest} is stone brick stairs
- block south of {_chest} is double stone slab item
- block south west of {_chest} is stone brick stairs
- block west of {_chest} is stone brick stairs
- block north west of {_chest} is stone brick stairs
- block at {_chest} is a chest
- loop all items in block at {_chest}:
- if loop-item is redstone:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.redstone}
- if loop-item is exp bottle:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.exp}
- while {_count.redstone} > {@convert.rate} - 1:
- remove 10 redstone from block at {_chest}
- remove 10 from {_count.redstone}
- add 1 redstone named "&4Mana" to block at {_output}
- while {_count.exp} > 0:
- remove 1 exp bottle from block at {_chest}
- remove 1 from {_count.exp}
- add 1 redstone named "&4Mana" to block at {_output}
- add 1 glass bottle to block at {_output}
- function mana_converter_north(l: location):
- block south of {mana.stone.button.converter.block} is air
- block south west of {mana.stone.button.converter.block} is air
- block west of {mana.stone.button.converter.block} is air
- block north west of {mana.stone.button.converter.block} is air
- block north of {mana.stone.button.converter.block} is double stone slab item
- block north east of {mana.stone.button.converter.block} is air
- block east of {mana.stone.button.converter.block} is air
- block south east of {mana.stone.button.converter.block} is air
- block at {mana.stone.button.converter.block} is stone button
- set {_chest} to block below {mana.stone.button.converter.block}
- set {_output} to block south of {_chest}
- block south of {_chest} is dropper
- block south west of {_chest} is stone brick stairs
- block west of {_chest} is stone brick stairs
- block north west of {_chest} is stone brick stairs
- block north of {_chest} is double stone slab item
- block north east of {_chest} is stone brick stairs
- block east of {_chest} is stone brick stairs
- block south east of {_chest} is stone brick stairs
- block at {_chest} is a chest
- loop all items in block at {_chest}:
- if loop-item is redstone:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.redstone}
- if loop-item is exp bottle:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.exp}
- while {_count.redstone} > {@convert.rate} - 1:
- remove 10 redstone from block at {_chest}
- remove 10 from {_count.redstone}
- add 1 redstone named "&4Mana" to block at {_output}
- while {_count.exp} > 0:
- remove 1 exp bottle from block at {_chest}
- remove 1 from {_count.exp}
- add 1 redstone named "&4Mana" to block at {_output}
- add 1 glass bottle to block at {_output}
- function mana_converter_west(l: location):
- block east of {mana.stone.button.converter.block} is air
- block south east of {mana.stone.button.converter.block} is air
- block south of {mana.stone.button.converter.block} is air
- block south west of {mana.stone.button.converter.block} is air
- block west of {mana.stone.button.converter.block} is double stone slab item
- block north west of {mana.stone.button.converter.block} is air
- block north of {mana.stone.button.converter.block} is air
- block north east of {mana.stone.button.converter.block} is air
- block at {mana.stone.button.converter.block} is stone button
- set {_chest} to block below {mana.stone.button.converter.block}
- set {_output} to block east of {_chest}
- block east of {_chest} is dropper
- block south east of {_chest} is stone brick stairs
- block south of {_chest} is stone brick stairs
- block south west of {_chest} is stone brick stairs
- block west of {_chest} is double stone slab item
- block north west of {_chest} is stone brick stairs
- block north of {_chest} is stone brick stairs
- block north east of {_chest} is stone brick stairs
- block at {_chest} is a chest
- loop all items in block at {_chest}:
- if loop-item is redstone:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.redstone}
- if loop-item is exp bottle:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.exp}
- while {_count.redstone} > {@convert.rate} - 1:
- remove 10 redstone from block at {_chest}
- remove 10 from {_count.redstone}
- add 1 redstone named "&4Mana" to block at {_output}
- while {_count.exp} > 0:
- remove 1 exp bottle from block at {_chest}
- remove 1 from {_count.exp}
- add 1 redstone named "&4Mana" to block at {_output}
- add 1 glass bottle to block at {_output}
- function mana_converter_east(l: location):
- block west of {mana.stone.button.converter.block} is air
- block north west of {mana.stone.button.converter.block} is air
- block north of {mana.stone.button.converter.block} is air
- block north east of {mana.stone.button.converter.block} is air
- block east of {mana.stone.button.converter.block} is double stone slab item
- block south east of {mana.stone.button.converter.block} is air
- block south of {mana.stone.button.converter.block} is air
- block south east of {mana.stone.button.converter.block} is air
- block at {mana.stone.button.converter.block} is stone button
- set {_chest} to block below {mana.stone.button.converter.block}
- set {_output} to block west of {_chest}
- block west of {_chest} is dropper
- block north west of {_chest} is stone brick stairs
- block north of {_chest} is stone brick stairs
- block north east of {_chest} is stone brick stairs
- block east of {_chest} is double stone slab item
- block south east of {_chest} is stone brick stairs
- block south of {_chest} is stone brick stairs
- block south west of {_chest} is stone brick stairs
- block at {_chest} is a chest
- loop all items in block at {_chest}:
- if loop-item is redstone:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.redstone}
- if loop-item is exp bottle:
- set {_count.stack} to amount of loop-item in block at {_chest}
- add {_count.stack} to {_count.exp}
- while {_count.redstone} > {@convert.rate} - 1:
- remove 10 redstone from block at {_chest}
- remove 10 from {_count.redstone}
- add 1 redstone named "&4Mana" to block at {_output}
- while {_count.exp} > 0:
- remove 1 exp bottle from block at {_chest}
- remove 1 from {_count.exp}
- add 1 redstone named "&4Mana" to block at {_output}
- add 1 glass bottle to block at {_output}
- on right click on stone button:
- if block south of event-block is double stone slab item:
- set {mana.stone.button.converter.block} to event-block
- mana_converter_south({mana.stone.button.converter.block})
- if block north of event-block is double stone slab item:
- set {mana.stone.button.converter.block} to event-block
- mana_converter_north({mana.stone.button.converter.block})
- if block east of event-block is double stone slab item:
- set {mana.stone.button.converter.block} to event-block
- mana_converter_east({mana.stone.button.converter.block})
- if block west of event-block is double stone slab item:
- set {mana.stone.button.converter.block} to event-block
- mana_converter_west({mana.stone.button.converter.block})
Advertisement
Add Comment
Please, Sign In to add comment