Settings

Permissions

Here are some preset permissions:

  • magicalspells.admin - allows for admin commands and crafting of the admin wand
  • magicalspells.user - allows users to craft the preset wands and use the normal commands, do not use this if you have edited the config file

These permissions are for if you want to edit stuff:

  • magicalspells.help - allows the user the view the ingame help menu
  • magicalspells.craftlist - allows users to view the crafting list
  • magicalspells.spellist - allows users to view the spell list for that wand
  • magicalspells.spelldesc - allows users to view the spells description
  • magicalspells.craft.<wandname> - allows users to craft that specific wand
  • magicalspells.use.<wandname> - allows users to use that specific wand
  • magicalspells.overridecraft: - alows you to bypass the crafting materials
  • magicalspells.overridefaction -allows you to bypass faction protection spell casting
  • magicalspells.reload -allows /ms reload and update commads

Config

To use the config it is quite simple, here is an explanation, all this takes place in the settings.yml

Here are the first settings

  • messageoncast -will it say "You cast: SpellName"
  • messageonoutofrange -will it say "Spell out of range"
  • messageoncost - will it say "You need 3 more golden nuggets"
  • costitemid - id of the item that is the cost, set to "xp" to use xp casting, do 'hunger' for hunger and 'hungerboth' for hunger+saturation bar.
  • useworldguardregions - if true, if a player cant build in an area, he ccant cast spells in the area
  • spelldamageundo - will the damage done by spells be reverted after 1 minute
  • worlddamagetime - the time in seconds it takes to reverse the spell damage
  • universalcooldown - if true, when a user casts a spell all his wands will go on cooldown
  • samewandset - if true when a user cast a spell all the wands of that set will go on cooldown (e.g. all the fire wands(its actually all the wands with the same itemID))
  • samewandcooldown - if true if user casts a spell all the same wands will go on cooldown (e.g. all his Fire 3 wands will go on cooldown but his Fire 2 wand will not)
  • disablespellinpeacefulfactionarea - Disable spells in peaceful factions
  • disablespellinallfactionarea - Disable spells in all factions
  • disablespellinfactionsafezone -Disable spells in safe zones
  • disablespellsinalltowns -Disable spells in all towny towns
  • disablespellsinnonpvptowns -Disable spells in only non pvp towny towns
  • useworldlist - if wands can only be used in the worlds sepcified below Worlds: - The list of worlds which wands can be used in, this is only used if useworldlist is true - world - world_nether -....

Creating a new spell

Find a spell you want to edit, lets say your a skyim fan and you want a "Fus-Ro-Dah" spell we would put at the bottom:

FusRoDah:
         name1: FusRoDah
         cost: 3
         size1: 24
         range: 40
         cooldown: 10
         description: Force your enemies aside with the dragon shout
         handler: Push

The name1 and the name at the start must be the same with no spaces. The cost is the amount of gold nuggets (or configered item) that is required to cast. The size1 is the configurable variable that determines certain traits, for this spell it decides the power of the push. The range is the maximum range, in bnlocks, that it can be cast. The cooldown is the time taken for the wand to cooldown afterwards. The description is the spells description. The handler determines what spell it is, look through the preset spells to see them, you can do multiple ones and seperate them with a comma (Lightning,Explosion,Wolves).

Now we got to the "SpellList" that looks like this:

SpellList:
        - Storm
        - ArrowBarrage
        - Lightning
        - Explosion
        .....

and we add the name of our spell

SpellList:
        - Storm
        - ArrowBarrage
        - Lightning
        - Explosion
        - FusRoDah

Then simply add the spell to the desired wand and its done :D

Creating a new wand

Say we want a dragonborn wand, we will go to the "Wands:" and add this

DragonBorn:
        name1: DragonBorn
        heldItem: 285
        enchantment: KNOCKBACK
        enchantmentlevel: 5
        Materials: 8^88,16^295,4^264
        Spells:
             - FusRoDah

The first and name1 lines have to be the same but the "name1" can have spaces in it. The helditem is the wands item id. The enchanment is the name of the enchament for the item, you can find the names here LINK. The enchantment level is the level of enchantment. You CANNOT have an wand with the same itemID, enchantment and enchantmentlevel as another. Items can be any tool (hoes,axes,picks) armour, fishing rods or flint&steel. The materials are the items required for the wand, e.g 64 diamonds would be 64^264 (quantity^itemID) to seperat mutliple ones use a comma, to do extra data values like red wool use ":" e.g. 64^35:14 this would be 64 red wool. The Spells is the list of spells i can cast.

Extra stuff: overridecooldown: true - Defines if the wand uses cooldown after casting this is not necessary. overridecost: true - Defines if the wand uses cost items this is not necessary. WandsNeeded: Fire1 -Defines the wand needed to craft this one, this is not necessary. targetplayers: true -Defines wether the wand can attack players, useful for mobarena. costItemID: 1 - Defines the cost item for the wand, if this is not included then it will be the default.

Then add the wand name to the "WandList:" like we did with the spell

WandList:
        - Destruction1
        - Destruction2
        - Destruction3

goes to:

WandList:
        - Destruction1
        - Destruction2
        - Destruction3
        - DragonBorn

Then add the permission "magicalspells.craft.DragonBorn" to the user goup Then add the permission "magicalspells.use.DragonBorn" to the user goup and your done :D