Wizards ❱ Domination | CTF | TDM | icon

Wizards ❱ Domination | CTF | TDM | -----

Domination, CTF & TDM | Leaderboards | Classes or Kits | Special Effects/Systems | Mounts |




  • Added 1.21.4 support.
    • Huge rework on the backend for better support on a lot of stuff, please report any problems at discussion or via Private Message.
  • Small backend update on PAPI to fix some compatibility issues
  • Removed a bit of unused code
----------, Dec 16, 2024

  • Updated NBTEditor
    • Fixes 1.21.1+ issues when using NBT.
----------, Dec 2, 2024

  • Fixed a issue where shop will break due invalid item data in 1.13 to 1.17 when using Classes.
----------, Nov 28, 2024

  • Fixed NBT not working on 1.21.3.
----------, Nov 25, 2024

  • Fixed the option tornado-push-players-back (shaman.yml) not working correctly (was always false)
  • Fixed option healing-per-splash (aquamancer.yml) not working correctly (was always 0)
  • Updated NBTEditor to support 1.21.
----------, Oct 8, 2024

  • Fixed a few issues for when Inventory Layout Editor is enabled
    • It will no longer force to open player inventory again.
    • Fixed the InventoryClickEvent event is being modified outside of the game, resulting in compatibility issues with other plugins.
    • Fixed player can drop items from the layout editor inventory and pick it up as normal items outside of the game.
----------, Sep 4, 2024

  • Added Options.Game.Events.Block-Break, that allows players to break blocks
  • Added Options.Game.Events.Block-Place, that allows players to place blocks
  • Added Options.Game.Events.Food-Level-Change, that allows food level to change
  • Added Options.Game.Events.Item-Pickup, that allows players to pickup ground items
  • Added Options.Game.Events.Item-Drop, that allows players to drop items
  • (Performance improvements) Removed sign auto-update task, it should now only update when necessary.
  • (Performance improvements) Remove some unnecessary event calls
  • Fixed some Paper builds causing errors due empty command calls, this issue is a paper issue that is fixed in a later build but I'm double checking it to not happen anymore.
----------, Jul 24, 2024

Fixed some BungeeCord issues:
  • If there's no games on the server the player will now receive the restarting message to avoid the "there's no games on this server" message
    • I'd recommend having at least two maps per server if you are doing one game per server, this will avoid the small delay to arena restore when trying to join the server, that way players will always be able to join due game rotation.
  • Fixed game Bungee server detects game as started if the game is changing game state from null to pre game
  • Fixed Bungee games have no restoring state
  • Modified the order of handling of leaving the game for better compatibility
Other general fixes (for default values):
  • Fixed broken default Pyromancer name in shop
  • Fixed some typos in shop.yml
  • Fixed invalid default items in shop.yml
----------, Jul 17, 2024

  • Fixed a few problems with Mage class
  • Attempt 2 to fix wrong sounds being played in some instances! Please report bugs at discussion.
----------, Jul 12, 2024

  • Fixed point being captured sound playing for the wrong team.
  • Fixed Per-Arena-Chat not working with other chat plugins.
----------, Jul 10, 2024

This update is a small change that aims to improve performance related to stuff thats generate from random; particles, damage numbers, game objective block placements and such. Tested with a improvement from 0.46% to 0.05%.
  • Fixed some typos in default config files
  • Fixed config files sometimes loading incorrect values.
    • If you see 'PRIMITIVE' section in any of your config files you can delete that whole section.
----------, Jul 1, 2024

  • Added DecentHolograms support, highly recommended over HD.
    • DecentHolograms visibility system is very tricky to get working, please report any bugs at discussion or private message.
    • DecentHolograms works for Powerups and CTF mode.
    • For Leaderboards you can use PAPI.
  • Added Holographic Damage Indicators for Skill Damage/Healing
    • At Options.Holographic-Damage-Indicators, has its own options like extra Y and duration.
  • Fixed a issue where if the flag state changes during player respawn coutdown the hologram will not respawn for that player until the state changes again.

( Sorry for the double update, did not plan to finish this build today but here we are)
----------, Jun 20, 2024

  • Updated XMaterial and XSound to support new 1.21 items.
  • Fixed ActionBar not working in some versions.
(1.21 only) Note: If your arenas are not loading, you'll need to update your game worlds.
  • Start the server with the --forceUpgrade argument line
  • Let everything load, it will take a while
  • Finish each of your arenas again (/wizards finish <arena>), this will erase the world arena from the maps folder and copy the current new loaded and updated ones.
    • This will be very resource heavy, recommend doing with the server on maintenance.
  • After that, you can remove the --forceUpgrade line.
----------, Jun 19, 2024

  • Added 1.21 support.
    • Wait for paper release, spigot is not recommended.
----------, Jun 13, 2024

This update contains very important performance improvements, even if you are not in 1.20.6 updating is highly recommended.
  • Added 1.20.6 support, with some futureproof for future updates so I can (hopefully) update it faster next mc release
  • Massive performance improvements for Player Interact.
  • Changes to the Options.Game.CTF.Always-Drop-Flag-On-Ground option, the known issue should now be fixed.
If you happen to find any issue please report via Private Message or at Plugin's Discussion page, this is a huge update on the backend.
----------, May 31, 2024

This version does not support 1.20.5/6, no ETA.
  • Reworked some NMS handling, Potion and Particle display support for better support for future minecraft versions
    • Should improve performance for Particles, ActionBar and Titles
A lot of particle handling has been changed in order to support 1.20.5+, so if you find any issues please report the problem! You can safely revert to 6.0.2 if necessary.

Part of this and other big updates after MC updates are thanks to XSeries.
----------, May 12, 2024

  • Players will be sent to global spawn if keep inventory is enabled, make sure to set global spawn (/wizards setgspawn)
  • If keep inventory is true, exp bar usage by game events will be disabled
  • Some other game tasks will also be disabled
----------, Apr 21, 2024

  • Changed how portals are loaded to avoid some possible issues when arena takes too long to reload
  • Changed some commands to add better feedback for new users
  • Other internal command changes
----------, Apr 15, 2024

For some reason spigot didnt update the resource yesterday, so here it is again

This is a big one and has one huge change that may impact your game times, please read everything. This is a massive update on the backend, so report any problems via Private Message or Discussion!

The highlight of this update is the point system has been updated along the Scoreboard, you can now do stuff like this:

[​IMG]
  • Fixed incorrect points per second value in the Scoreboard (ActionBar was correct)
  • Fixed Netherite material support.
  • Fixed a ton of visual problems with incorrect Points Per Second
  • Improved points per second calculation performance
  • Important! Join menu now requires a permission:
    wizards.joinmenu
  • Important! The score gained over the seconds is now actually 1 point per second.
    • Before this update, teams were gaining 1 score each 0.75s.
    • You can revert this "fix" by setting Options.Game.Use-Old-Points-Time to true, but I'd recomend to let it work as 1 point per second so you can use the a new feature listed below.
  • Added a new Scoreboard Placeholder: %team_prefix%
    • Returns the values at Scoreboard.Blue-Team-Prefix and
      Scoreboard.Red-Team-Prefix
    • Can be used at the objective names in the Scoreboard, example below
    • Using the old points time will make the timer run faster so it will not look good, if you wish to use this use the new point time system.
  • Added a new Scoreboard Placeholder: %time_to_win%
    • This will show the approximate time for a team to win the game, the more points per second the lower this timer is
    • This displays the value at Scoreboard.Time-To-Win
    • This system still has some ways to go, for example, calculating if a team will be able to win even if they are behind, I'll keep a eye on it so look forward for further updates.
    • Here's a fun example on how you can mess with the Scoreboard now. Check the WIKI for more info.
    • [​IMG]
  • Added a new Powerup: SPEED
    • Increases player movement speed, this will not add up but re-set the speed.
  • Added a new class: Frostbolt
    • Shots ice bolts, up to 4 times in default configuration
    • Can cause direct damage and explodes on impact dealing AoE damage
    • The bolts are 4 small ice blocks in a form of a projectile
The scoreboard has became a little too complex, so a new WIKI page about the Scoreboard is now available.

PLEASE NOTE: The shop file does not auto update, you have to delete to generate a new one or add the following lines to it:
Code (Text):
frostbolt:
  enabled: true
  item: 'ICE : 1'
  name: '&6FrostBolt'
  lore:
    - '&7Shots ice bolts!'
  slot: 41
A quick note, the new class uses ArmorStands to work with projectiles, if you are using PaperSpigot you might see a stackdump (error) with the following message: "Excessive velocity set detected: tried to set velocity of entity [...]"
This is not an error, it's a velocity limit implemented by PaperSpigot. You can filter this message out if you have a filter on your console. Or set the projectile speed to 1.0.
----------, Feb 20, 2024

This is a big one and has one huge change that may impact your game times, please read everything. This is a massive update on the backend, so report any problems via Private Message or Discussion!

The highlight of this update is the point system has been updated along the Scoreboard, you can now do stuff like this:

[​IMG]
  • Fixed incorrect points per second value in the Scoreboard (ActionBar was correct)
  • Fixed Netherite material support.
  • Fixed a ton of visual problems with incorrect Points Per Second
  • Improved points per second calculation performance
  • Important! Join menu now requires a permission:
    wizards.joinmenu
  • Important! The score gained over the seconds is now actually 1 point per second.
    • Before this update, teams were gaining 1 score each 0.75s.
    • You can revert this "fix" by setting Options.Game.Use-Old-Points-Time to true, but I'd recomend to let it work as 1 point per second so you can use the a new feature listed below.
  • Added a new Scoreboard Placeholder: %team_prefix%
    • Returns the values at Scoreboard.Blue-Team-Prefix and
      Scoreboard.Red-Team-Prefix
    • Can be used at the objective names in the Scoreboard, example below
    • Using the old points time will make the timer run faster so it will not look good, if you wish to use this use the new point time system.
  • Added a new Scoreboard Placeholder: %time_to_win%
    • This will show the approximate time for a team to win the game, the more points per second the lower this timer is
    • This displays the value at Scoreboard.Time-To-Win
    • Here's a fun example on how you can mess with the Scoreboard now. Check the WIKI for more info.
    • [​IMG]
  • Added a new Powerup: SPEED
    • Increases player movement speed, this will not add up but re-set the speed.
  • Added a new class: Frostbolt
    • Shots ice bolts, up to 4 times in default configuration
    • Can cause direct damage and explodes on impact dealing AoE damage
    • The bolts are 4 small ice blocks in a form of a projectile
The scoreboard has became a little too complex, so a new WIKI page about the Scoreboard is now available.

PLEASE NOTE: The shop file does not auto update, you have to delete to generate a new one or add the following lines to it:
Code (Text):
frostbolt:
  enabled: true
  item: 'ICE : 1'
  name: '&6FrostBolt'
  lore:
    - '&7Shots ice bolts!'
  slot: 41
A quick note, the new class uses ArmorStands to work with projectiles, if you are using PaperSpigot you might see a stackdump (error) with the following message: "Excessive velocity set detected: tried to set velocity of entity [...]"
This is not an error, it's a velocity limit implemented by PaperSpigot. You can filter this message out if you have a filter on your console. Or set the projectile speed to 1.0.
----------, Feb 19, 2024

  • Added arena display names.
    • You can use this to use non-alphanumeric symbols for you arena.
    • Your arena name is still valid and usable, but you'll be able to use the display-name for sign, commands and placeholders.
    • You can set your arena display name by using /wizards setDisplayName <arena> <new display-name>
This is a small update so not counting to 6.0 just yet.
----------, Jan 21, 2024

  • Fixed game trying to restore inventory when Save-Inventory is set to false
  • Fixed players being able to join after the game ended when
    Options.Join-While-In-Game is set to true
  • Added Options.Spectate-Join-Command to execute commands when joining the game as spectator
  • Added Items.Leave.Command-To-Execute to execute commands when clicking the leave item
----------, Jan 8, 2024

  • Updated NBT to support 1.20.4. can this game stop updating subversions
Don't need to update if you are not on 1.20.4.
----------, Dec 25, 2023

  • Fixed a issue with empty class selection
  • Fixed incorrect Leaderboard update time, it is in minutes now, so default is every 5m
  • Fixed Inventory Layout Editor can duplicate the first hotbar item if not full when editing
  • Fixed Inventory Layout Editor can duplicate the a item to the offhand slot when receiving the kit items after editing
  • Fixed incorrect log level for some logging stuff
  • Improved some class effects collisions
  • Inventory now forces to close when game starts
  • (Requested) Added new command options
    • Options.Game.Respawn-Commands
      • Executes a command when a player respawn, %player% and %team% placeholders
    • Options.Game.Death-Commands
      • Executes a command when a player die,%killer%, %player% and %team% placeholders
  • Options to use commands after selecting a team now works for when the player first joins the game
----------, Dec 20, 2023

  • Fixed Fighter Class skill impact would not drop the flag correctly
  • Fixed getting killed on void would not remove the carrier status from the player
  • Fixed a bug where when the enemy picks up the flag back from the dropped state it would not remove the respawn hologram
  • Fixed leaving the game with the flag on would carry to the lobby
  • Fixed when the server is shutting down and player still has the flag it would not remove the player from the map correctly
  • Fixed mana would not regen after the player dies with the flag
Other:
  • Fixed selection tool not working correctly
  • Added a option Options.Advanced-Logging, false by default, so I can offer better support with some log data
----------, Dec 15, 2023

  • Added a option Options.Should-Skills-Impact-on-Players
    • true by default
    • if true, spell skills (Pyromancer, Enderman and others) will be able to impact players as if they hit a block
    • You can change the hitbox at Options.Game.Skill-Impact-Hitbox, on my testings the default value of 1.72 is a good balance between the player hitbox, you can change that to a larger hitbox if you want.
    • Note that this will create a check that will be called every tick, the max-distance in your class.yml is very important.
  • Added a option Options.Game.Default-Class
    • It will set a default class, in case of anything goes wrong with class selection
  • Added a option to use Minecraft's Spectator Mode
    • Options.Game.Use-Spectator-GameMode
  • Fixed a bug with Kit & Class selection
  • Fixed a few Game Join Menu issues
  • To avoid players getting stuck in some instances, the game itself will now check if a player can join the game
  • Fixed a bug where if you spam the join command when a game is restoring there's a chance to throw an error
  • Fixed a bug where if you to start a game alone on the same tick as the game updates you may get stuck on the arena
  • Reworked the Inventory Storage System
    • It will now work as they work on my other resources so it should break nothing, but do test if you can.
    • Now stores the previous player location before joining a game and teleports back to that location
----------, Dec 8, 2023

  • Added a few new options
    • Options.Game.Team-Select-Blue-Command
    • Options.Game.Team-Select-Red-Command
      • Both will execute commands when a player selects a team, %player% placeholder
    • Options.Reset-Kit-After-Selecting-Team
      • Resets the player kit to null after swapping teams
  • (1.13+) Added support for Player Skulls
    • Add "texture" to the item tags, the tag can be: UUID, Player name, Base64 or Minecraft skin link, examples:
      • Code (Text):
          - 'PLAYER_HEAD : 1 : textures:https://textures.minecraft.net/texture/cf1054af9c71950fb1ecfd965bc85c72ed3013b10e21c3860d1f06a83ae7e874'
      • Code (Text):
          - 'PLAYER_HEAD : 1 : textures:md_5'
    • This system does not work in 1.8, not tested in other versions below 1.13.
  • Fixed invalid configuration format, again. (This seems to be a commit cleanup issue lol, should be fixed now)
  • Fixed having an null kit will break the selectkit command
  • Fixed selectkit command not executing kit-select-commands
  • Fixed some items can be null in some menus, throwing an error
----------, Nov 30, 2023

  • Fixed a few problems that happens when you switch between Kits and Classes.
  • Fixed a problem where if you switch to classes after using the Inventory Layout Editor players joining the server will throw a error when loading data
  • Fixed a issue with Configuration files (options and language) not loading/recreating correctly due the last cleanup update
  • Fixed Cosmos using wrong Particle data for 1.20+.
----------, Nov 22, 2023

  • Fixed a few problems that happens when you switch between Kits and Classes.
  • Fixed a problem where if you switch to classes after using the Inventory Layout Editor players joining the server will throw a error when loading data
  • Fixed a issue with Configuration files (options and language) not loading/recreating correctly due the last cleanup update
----------, Nov 22, 2023

  • Fixed an issue where the plugin was interfering with explosions even outside of a game
  • Fixed disabling explosions won't disable all explosions
  • Fixed some FallingBlocks from explosions not being removed correctly
----------, Nov 21, 2023

  • NEW CLASS! Surge
    • Aim to a player or location to create a field of particles that will target each player.
    • Class config:
      • Code (Text):
        #Max amount of players that the skill will bounce towards to
        max-targets: 6

        #How far can the first target, player or location, be
        max-first-target-distance: 12

        #How far between players can the skill still hit
        max-bouncing-target-distance: 16

        #If false the skill can be used anywhere, and it will look for players around
        requires-player-target: true
      • [​IMG]
Other changes:
  • New option: Options.Use-Exp-Bar-For-Mana
    • True by default, this option allows for the exp (not the level) of the exp bar to also move.
    • [​IMG]
  • New API event:
    • PlayerFlagCaptureEvent (Cancellable)
  • Changed some default options, it will only apply for new users so don't worry.
  • Fixed Arcanist class would sometimes not detonate the firework from the class particles correctly
  • Fixed rare issue where the Animal skill can lag the server when is used only for the first time after the server starts

You can check the plugin's wiki for extra info on API usage.
----------, Nov 20, 2023

This is a huge cleanup update (more than 2000 deletions, it's a big one), removed a lot of unused stuff and a new class should be coming next week as long as things doesn't break here!
  • General cleanup
  • Attempt to fix pressing the swapping key would remove item from some the Inventory Layout Editor
We are out of space on Spigot's plugin page (lol) and I do not like Images to display features since you cannot easly find for that you are looking for.
So now we also have a wiki page! More stuff will be added later.

The wiki page is way better for API and code stuff, so please check it out if you'd like.
----------, Nov 18, 2023

  • Updated NBT parser to work on 1.20+.
  • Fixed a few problems with item parser when using NBT:
    • It will no longer parse some parameters if NBT is enabled, e.g crossbow loaded state
  • Fixed spamming shift-click would remove items from Layout Editor
----------, Nov 9, 2023

  • Added achievements menu.
    • /wizards achievements (type)
    • the type is optional, it will filter the achievement type, the types are (not case-sensitive):
      • WINS
      • GAMES
      • KILLS
    • All items on the menu can be changed to whatever you want.
    • Without the filter the achievement list is sorted by the order in achievements.yml.
[​IMG]
----------, Oct 30, 2023

  • Added a new class: Animal
    • Click to throw a projectile in form of a Pig!
    • Shift-click to throw a chicken that has heals you and your teammates!
  • Fixed a few classes are using the wrong explosion-radius
    value
    • It will now always use from the class file, not global settings.yml.
    • You may have to double-check the value of your
      explosion-radius of your classes for balancing reasons
  • Changed some default values
  • Minor visual calsses fixes
To add the new class to your shop.yml, add the following line:
Code (Text):

animal:
 enabled: true
 item: 'EGG : 1'
 name: '&6Animal'
 lore:
  - '&7Click to throw a damage pig projectile!'
  - '&7Shift-Click to throw a healing chicken projectile!'
 slot: 37
 
Or delete your shop.yml to generate a new one.

animal.yml:
Code (Text):
#

### Animal settings ###

#Will auto-detonated after a few ticks (20ticks = 1s)
max-living-ticks: 85

#Projectile speed settings
damage-projectile-speed: 2.75
healing-projectile-speed: 3.85

#Holding shift will throw a healing entity
hold-shift-to-heal: true
healing-amount: 4.5
healing-area: 5

#Collision settings, there's two type of collision check, checking for block hit box around a certain location and checking for ground

#If set to true, the entity will always explode when touching the ground. Otherwise, the entity may be able to walk a bit before colliding or the max-living-ticks times out.
always-check-for-ground-collision: true

#Will check both but may cause to explode when touching small blocks
check-both-collision-types: true
----------, Oct 23, 2023

Fixes and changes for in-game admin kit editor (/wizards kit edit)
  • Now supports storing empty slots
  • Fixed armor not saving correctly
  • Fixed unbreakable items
  • Fixed invalid items can break the kit file when the plugin does not parse it correctly
----------, Oct 19, 2023

  • The select kit command now checks for Options.One-KitClass-Per-Teammate
  • Some in-game tasks will now behave somewhat different to improve overall performance
  • Config & messages cleanup
----------, Oct 10, 2023

  • Fixed some issues with Kit Editor & Kit Preview systems
  • Kit Preview & Editor will now priority hotbar items (See below)
  • Kit Editor menu has been changed to support extra items (i.e offhand item)
  • Kits now allows "offhand" item below the armor on the kit section
    • Code (Text):

       warrior:
        needs-permission: true
        permission: "wizards.kits.warrior"
        slot: 1
        price: 100
        display-item: 'DIAMOND_AXE : 1 : name:&6Warrior'
        helmet: 'IRON_HELMET : 1'
        chestplate: 'IRON_CHESTPLATE : 1'
        leggings: 'IRON_LEGGINGS : 1'
        boots: 'IRON_BOOTS : 1'
        offhand: 'SHIELD : 1' #<<<<<<<<< Here
        items:
        - 'DIAMOND_AXE : 1'
        lore:
        - '&7Warrior kit'
       
  • The start/stop command can now be used without arguments if you are in a game while using it
  • Other small internal improvements

Kit Editor/Preview Item Order
[​IMG]

You can disable the order that at Inventory-Layout-Editor.Priority-Hotbar, if set to false the items will be placed in the inventory row order.

The offhand item is not available for Classes as you won't use anything on your offhand when playing with Classes.
----------, Sep 18, 2023

  • Fixed checking for some items being fired every Interact event, causing performance problems.
  • Fixed some problems with Powerup API
  • Fixed default shop.yml is incorrect (again!)
----------, Aug 22, 2023

  • Some fixes and changes I'm sorry I don't remember them all, my PC just exploded and my Git history is between 3 branches, this feature has been in testing for ages. Updating is recommended.

Players can now change the Inventory Layout for when the game starts.

This feature only work for Kits at the moment. Classes support is planned.

If you do not care about this feature you can stop here, just update the plugin, everything below is set to false by default, nothing will break. However, a new database table will be created.


First of all, if you wish to use the feature, it can be kinda complex to setup, please read everything below.

  • Set Inventory-Layout-Editor.Enabled to true to enable the feature
  • Enable-Preview-Button - This will make so the layout editor icon will show in the preview menu
    • [​IMG]
  • Store-As-Text: THIS IS VERY IMPORTANT! You can choose between deserializing the ItemData or just transform the kit data to look like the values from the items that you can configure (like kit items and such)

    • Must be true for SQLite
    • If you are not on SQLite however, you can set it to false, this can generate a very long string for each kit but it will work in all conditions.
  • Storage-Separator: THIS IS VERY IMPORTANT! For Storing-As-Text, this will be the separator between a Item and another, for example: "DIAMOND:1;DIAMOND:2;". You can set this to any value, some values will work and others not, you need to test this yourself.

    • Note that using a value that your kit is already using in a Lore for example will break things! So if you lore has a " ; ", it will break. Disable Store-As-Text or try to find a value that will work for you the best.
      • For example, NBT, if you are using NBT items change to another value.
    • The value can be any String, from a text to a sequence of characters, for example using ,;, should work without breaking stuff, so you can do that if you need.
  • Reset-Cooldown: The cooldown fo the reset data item.
Here's an example of it working:
[​IMG]

[​IMG]

Config:
[​IMG]
Store-As-Text, database value:
[​IMG]

Commands:
/wizards clearLayoutData <kit>
Clears the kit data for all players
Permission: wizards.admin

/wizards layout <kit>
Opens the layout editor, all players can execute this, as long as they have the kit

As always, every message is customizable, please check

Messages.Custom-Inventories. to see all messages
----------, Aug 18, 2023

  • Added Leaderboard placeholders to PlaceholderAPI
    • %wizards_leaderboardtype_position%
      • types:
        • %wizards_leaderboard_flags_captured_X%
        • %wizards_leaderboard_healing_X%
        • %wizards_leaderboard_exp_X%
        • %wizards_leaderboard_damage_X%
        • %wizards_leaderboard_kills_X%
        • %wizards_leaderboard_wins_X%
      • example:
        • %wizards_leaderboard_wins_1%
          • return first position
        • %wizards_leaderboard_wins_2%
          • return second place
----------, Aug 4, 2023

  • Added the (missing) option to let players join when game is starting
    • Options.Join-While-Starting
----------, Jul 28, 2023

  • Fixed Kit Preview not working on 1.8 servers
  • Inventory name from Kit Preview can now be changed without reloading the server (changes will now apply from /wizards reload)
  • Added a small delay to open Kit Preview Inventory to avoid issues with other menu plugins interacting with it
----------, Jul 24, 2023

  • Fixed possible memory leaks when using Elytra
  • Fixed potion-effects for kits and classes not working correctly
  • Other small fixes
  • Added a option to preview kits:
    • This work for both kit and classes.
    • You can preview a kit by right clicking on the shop item.
      • You can also use /wizards preview <kit>
        • Requires permission wizards.commands.preview
    • All kit items will be on the first rows, armor and sword on the bottom.
    • A special item will be shown on the last slot to show all potion effects that the kit has, if any.
    • You can disable that at Options.Right-Click-To-Preview-Kits
[​IMG]

  • Added the following CTF options:
    • Options.Game.CTF.Disable-Elytra-When-Picking-Flag
    • Options.Game.CTF.Disable-Elytra-When-Carrying-Flag
    • Messages.CTF.Game.Cannot-Elytra-While-Carrying-The-Flag
----------, Jul 22, 2023

  • Fixed NBT Item support for 1.19+.
----------, Jul 20, 2023

  • Attempt to fix incorrect default shop.yml formatting.
----------, Jul 16, 2023

  • Changes to double jump particle to look a bit nicer.

Please check below to add the new class to your shop.yml, otherwise the shop will not work!

NEW CLASS

[​IMG]
  • Added the class YinYang, this class creates a field that can heal and cause damage in area every few ticks
  • You can modify if the class should heal or not, the delay between pulses of damage and heal and more.
  • New classes aren't exactly balanced, change the options according to your liking.
Code (Text):
#YinYang Values, 20 ticks = 1 second
tick-delay: 25 #Every 1.25s
damage-per-tick: 2.5
max-tick-duration: 100 #Will pulse for 4.75 seconds
skill-heals: true
heal-per-tick: 1.75
area-of-effect: 7.0
 
Please add the following lines to your shop.yml for the shop to work correctly! Even if you don't to use the new class you need to have the shop file up to date.
Code (Text):
yinyang:
 enabled: true
 item: 'ENCHANTED_BOOK : 1'
 name: '&6YinYang'
 lore:
  - '&7Spawns a field that heals'
  - '&7teammates and damage enemies'
  - '&7every few ticks'
 slot: 34
Should look this:
[​IMG]
You can, of course, modify everything, just add the basics and you can modify the item, slot, name, lore and enable or disable.
----------, Jul 7, 2023

  • Fixed default shop.yml has broken values since 5.0.0
    • If yours is working is because it generated as the old one, don't need to touch it. If it's not working delete to generate a new one.
  • Added some more commands to tab complete.
  • Added a variety of log messages and warnings about incorrect setup and incorrect config values to help server owners with the plugin setup.
This update is not necessary for old users, you can skip this one if everything is working for you.
----------, Jul 4, 2023

  • Hotfix for a some backend database access is not being closed correctly.
  • To avoid Fighter's punch helping the enemy flag carrier, added a option to let players drop the flag when impact after being hit by Fighter's punch.
    • Add target-drop-flag-on-impact: true to your fighter.yml if you wish to enable it.
    • Note that the player has to impact the terrain for the flag to drop
    • The flag will drop at the impact location, so it is still fair for both sides, the fighter player can pick up the flag again.
----------, Jun 28, 2023

Note: This is a MASSIVE update, I'd recommend testing out the plugin first. Even if you don't care about CTF, the Leaderboard rework is a huge performance improvement.
  • Added CTF mode options
  • Commands will now tab complete
  • Better overall performance
  • The leaderboard system was completed recoded.
    • If your leaderboard has more than 10 players make sure to change Leaderboard.Data-Limit to the correct value.
    • Healing and Damage leaderboards may lost a little bit of precision, should not impact anything.
    • The amount of data stored has been reduced from ALL your players to the limit option.
  • Updated Holographic Displays Placeholder system.
  • Offline player PlaceholderAPI Placeholders have been removed.
    • It is possible to have it back, but I see no use for them and it is costly to maintain updating.
    • Leaderboard PlaceholderAPI will be added later.
    • Placeholders for online players are still working!
  • New Leaderboard type: Flags Captured
    • {wizards_flags_captured_position}

CTF
NOTE: This feature is in BETA, please report bugs at discussion or Private Message, check the full changelog for known issues.

Holographic Displays & ProtocolLib
are recommended to use CTF so each team can see the flag holograms correctly.

[​IMG]

Wizards now supports CTF gamemode. Note that this is a BETA feature as some other features, like stats, may be added later. This is not a separated game mode, you can set your arena to be CTF but there's no CTF wins or anything like that.

Key game features:
  • Your flag has to be safe for you to capture the enemy flag
    • The flag has 5 states: Safe, Stolen, Dropped, Captured, Respawning
  • Fully Holographic System
  • Scoreboard flag data
  • All sounds & messages can be changed
  • Works with classes and kits
  • You can make it works however you want
  • You can enable or disable certain skills for the flag carrier, like Crusader's Shield, Enderman's Recall and Double Jump.

[​IMG]
The CTF can be played along the other game modes as well! You can add game objectives, CTF flags and use the KOTH system all at the same time.

To enable CTF go to Options.Game.CTF.Enable-Game-Tasks and set it to true, this will enable some tasks for the game to work. This is a option because if CTF is not being used the task would be still be running but doing nothing so the tasks will just not run if this is not enabled to save server resources.

After enabling the game tasks, you can add the flags to your arena by using
  • /wizards setLocation <arena> RED_FLAG and BLUE_FLAG
That's it! You can now customize the game mode. There's a ton of options, sounds and messages - everything is separated by a CTF section in config, so look for those.

Additionally, if you want to use CTF in some arenas and not on others, you can! Just like the Objectives Placeholder in scoreboard you can use %ctf%. If the game does not detect any flags this placeholder will just be empty and the Scoreboard line will be reduced accordingly.
[​IMG]
Other Scoreboard Placeholders:
  • %red_flags_captured%
  • %blue_flags_captured%
When capturing a flag you can add points to the team OR set a specific amount of flags that a team has to capture to win:

By setting Captures-To-Win to -1, the score system will be used. You can also set Score-To-Win to -1 and Captures-To-Win to positive value if you don't want kills to be part of the game; players can still get points by kills.
[​IMG]


For classes, your Objective-Protection-Size at map config will apply to flags.

Very important config settings to know what they do:
  • Options.Game.CTF.Flag-Location-Threshold
    • The distance that the player needs to be to capture a flag
  • Options.Game.CTF.Update-Type
    • How frequent should the capture flag check update be, check Updates & Timer at plugin's page for more. Default is FAST (0.5 sec)
Everything is customizable.
[​IMG]
[​IMG]
[​IMG]
Known issues:
  • When Always-Drop-Flag-On-Ground is set to true, the flag will sometimes not be visible, this is due how the server checks for the highest block, it's a very rare problem but it can happen.
Missing features (will be added in future updates):
  • Titles
  • Some custom Placeholders
Any feedback is welcome.
----------, Jun 20, 2023

  • I've implemented some large optimizations to the Scoreboard system on my Splegg plugin and seems to be doing better, trying it here too!
    • If anything is broken, report and undo the update, but should be ok
  • Other minor changes on how some options are check for better performance
  • Updated the collision system to work better with newer versions.
    • It also fixes a issue where collision is disabled if the player left the game as spectator
----------, Jun 13, 2023

  • Added 1.20 support.
    • As always, spigot is not recommended, wait for Paper or other forks.
  • Changed default mount item slot.
----------, Jun 8, 2023

  • Changed how Spell particles travel is calculated, also small tweak to its visuals (list below).
  • Fixed Aquamancer class doing an Arc move and not travelling straight.
    • It was a cool that was a bug not a feature lol, I can add a option to let particles travel like that if anyone want
  • Small fix to Enderman to avoid not removing player from recall state if he leaves the game on spectator mode.
Listed visual changes to Particles, to make more visible or less visual clutter
  • All particles had its maths changed to be something smoother, better looking and avoid unnecessary math calcs.
  • Lowered the amount of Particles to Herobrine's skill
  • Lowered the amount of Particles of Enderman's skill
  • Raised the amount of Particles of Aquamancer's skill
  • Changed Crusader's Shield Particle Effect to avoid too many particles
    • Updated visuals: [​IMG]
    • The sound effect of a shield being hit still plays so it should still be possible to players to see if the enemy has a shield.
Kits, sounds and particles done. Next should be Powerups.
----------, May 24, 2023

  • Attempt to fix some damage stats and assists not working for projectiles when using kits, not fully tested
  • Changed how energy timer is checked to improve performance, changing the option Options.Game.Mana-Update-Type nows require to force restart all games (/wizards shutdown)
  • Minor api & depedency updates
----------, Apr 21, 2023

  • Added a few new sounds
    • Sounds.Player-Killed-Sound
      • Plays to the killer
    • Sounds.Player-Death-Sound
      • Plays to the victim
    • Sounds.Assist-Sound
      • Plays to all players who assisted on a kill
    • Sounds.Respawn-Sound
      • Plays to the respawned player
    • Sounds.Hit-Sounds.Skill-Hit-Target
      • Plays to the player who shoot the skill
    • Sounds.Hit-Sounds.Damage-Received-Sound
      • Plays to the player who received the skill damage
    • Sounds.Hit-Sounds.Heal-Hit-Teammate
      • Plays to the player who healed the teammate using a skill
    • Sounds.Hit-Sounds.Heal-Received-Sound
      • Plays to who received the healing

Multiple skills can cause damage and damage can be caused to multiple players at the same time so there's a delay for the Sound to be played, you can change that at Sounds.Hit-Sounds.Milliseconds-Delay-Between-Sounds. Make sure to change this value if you need, you can change and use the reload command to apply and test until you get a good non-spammable value.

All sound values are blank by default (nothing will be played), I'm not good with sounds so change it accordingly to your liking!

As you can assume, solo testing this is quite complicated so if you found a problem with any sound please report at Discussion or Private Message, if you can be specific about the problem would help a lot!

Some other changes are related to Nametags, nametag compatibility are quite complicated so everything about nametags are work-in-progress, but there are some fixes.
----------, Apr 4, 2023

  • You can now also add AIR class to the slots, it will skip the slot and add the item to the next, just like kits
    • For example:
    • Code (Text):
      items:
        - 'ARROW : 1'
        - 'AIR : 0'
        - 'ARROW : 2'
        - 'AIR : 0'
        - 'ARROW : 2'
    • Note that Items from the game (mount and class change item) may override your slots
    • Potions are always added to the next free slot, so if you add too much stuff it will added to the inventory but not to the hotbar
  • You can now set the class weapon slot:
    • Add the line weapon-slot to your class file to use it, for example
    • Code (Text):
      weapon: 'GOLDEN_HOE : 1 : name:&bPyromancer'
      weapon-slot: 3
  • Fixed Enderman, Creeper and Boulder not working with the custom items line.
----------, Mar 21, 2023

  • Fixed a bug where World is being loaded with normal Chunk Generator
  • Fixed a bug where not having all classes will break the shop
    • Note: You have to add a 'enabled' line to the shop.yml and set it to false, example:
      • Code (Text):
        cosmos:
          enabled: false
          item: 'COAL_BLOCK : 1'
          name: '&6Cosmos'
          lore:
            - '&7Spawns a meteor that will'
            - '&7impact the ground and'
            - '&7cause AoE damage.'
          slot: 30
    • You don't need to add the enabled line if you don't want to disable a class, it should work without this line.
  • Fixed a queue problem.
  • Some changes to arena loading.
----------, Mar 19, 2023

  • Added 3 new options
    • Options.Game.Hide-Spectators-From-Server
      • If false spectators are going to be visible in tab
    • Options.Scoreboard-Disable-HealthBar
      • Disables player healthbar
    • Options.Scoreboard-Disable-Nametag
      • Disables Wizard's nametag handling
  • Added two new Placeholders for Game Scoreboard:
    • %blue_kills%
      • Get total kills from team blue (first team)
    • %red_kills%
      • Get total kills from team red (second team)
----------, Mar 16, 2023

  • Added a option to give Invincibility- after respawn
    • Options.Game.Respawn-Invincibility-Ticks, 20 ticks = 1 second
  • You can now give extra points for when a team captures a objective
    • Options.Game.Points-When-Capture
  • If you put AIR on a kit item the inventory will now be empty for that slot
    • [​IMG]
This updates fixes a major problem with Damage and Respawn Events when you are not using CrackShot, please update ASAP.
----------, Mar 12, 2023

----------, Mar 7, 2023

Bungee:
  • Fixed a bug where if you have rejoin enabled you cannot capture a objective until you die at least 1 time (this may also happen when not using Bungee, not sure).
  • Fixed NametagEdit support when rejoining on Bungee.
  • Added a option to enable auto rejoin when
    • Options.Rejoin.Bungee-Enabled
    • If true, players will auto rejoin on to the game on Bungee mode.
  • Fixed rejoining multiple times when Bungee is enabled can cause problems.
General:
  • Added a option to toggle Wizard's Effect handling, Options.Disable-Other-Potion-Effects, true by default.
    • If false debuff effects will not be removed.
    • If false will result in players being able to throw negative potion effects on themselves and their teammates.
  • Fixed a problem with Damage not checking for valid players.
  • Fixed a bug where assists would not count correctly when using kits.
  • Fixed a bug where Projectiles other than Arrow can cause damage on teammates.
----------, Mar 4, 2023

Added a option to only let one kit/class be selected per team.This option is quite complicated so please read everything if you want to use it.

Can be enabled at Options.One-KitClass-Per-Teammate
Message: Messages.Kit-Already-Selected-By-Other
  • This also work for classes.
  • When enabled, the player will never haver a kit selected when joining a game.
  • If the game starts before a player chooses a kit, you can do the following: Check Options.Game.Action-When-Player-Kit-Is-Null
    • Actions
      • SHUTDOWN_GAME - Cancels the game
      • FORCE_RANDOM_DEFAULT - Forces a random kit anyways, it will result in duplicates.
      • REMOVE_PLAYER - Removes players without a kit from the game
      • GIVE_KIT_KITNAME - Gives a predetermined kit, for example GIVE_KIT_ARCHER
      • RESTART_COUNTDOWN - Set the game to starting again.
  • Fixed a bug where if you toggle the level system on and off, database will not load data correctly.
  • Fixed some random default values.
  • Fixed Scoreboard sometimes not showing the correct kit/class values.
  • Fixed death by fall damage causing errors when using kits.
  • Fixed projectiles can damage teammates when using kits.
  • Fixed CrackShot weapon can damage teammates.
  • Added NametagEdit compatibility.
    • Wizards will remove any NametagEdit tag when you join a game and restore after, there's no other way around.
  • Added a option to have multiple default kit/classes, please update the setting in your file accordingly.
Messages:
Messages.Game-Cancelled-Player-Without-Kit
Messages.Player-Without-Kit-Removed
Messages.Not-Selected

There may be some following updates to fix some other problems if necessary.
----------, Feb 27, 2023

  • Fixed an issue where Item parser cannot parse multiple line of lore correctly when one of the lines is empty.
  • Fixed an issue where Lore cannot parse ":" correctly, you can now safely use ":" between lines.
    • Example:
      Code (Text):
          display-item: 'DIAMOND_SWORD : 1 : enchant:DAMAGE_ALL:1 : enchant:KNOCKBACK:1
            : name:&6Fighter : lore:&f&lLine1 : lore:&f&lLine 2: &eStill Line 2 : lore: :
            lore:&f&lLine 4'
    • Just use the kit export system and it will do everything for you.
  • Fixed Auto-Respawn not working correctly.
  • Fixed some commands not checking for valid arguments correctly.
  • Other minor fixes.
  • Added NBT item support.
    • You will need to set Options.Always-Use-NBT to true in settings.yml, note that this will make every item from the kit a NBT value, it will just read the raw NBT of the item without any filters, so for example, it will look like this after you use the export command:
      • Code (Text):
            display-item: 'DIAMOND_SWORD : 1 : NBT:{id:"minecraft:diamond_sword",Count:1b,tag:{AttributeModifiers:[0:{UUIDMost:471157,UUIDLeast:384572,Amount:14,Slot:"mainhand",AttributeName:"generic.maxHealth",Operation:0,Name:"generic.maxHealth"},1:{UUIDMost:699344,UUIDLeast:129385,Amount:2,AttributeName:"generic.movementSpeed",Operation:0,Name:"generic.movementSpeed"}]},Damage:0s} : enchant:DAMAGE_ALL:1 : enchant:KNOCKBACK:1
              : name:&6Fighter : lore:&f&lLine1 : lore:&f&lLine 2: &eLine2'
    • This should work with custom tags
  • Added better armor color support
    • Now can store as RGB, not only color names (using color names still works).
      • For example
        Code (Text):
        helmet: 'LEATHER_HELMET : 1 : dye:4873336'
  • Added new commands:
    • /wizards applyKit <player>
      • Gives the player's current kit items.
      • wizards.applyKit
    • /wizards giveKitItems <player> <kit>
      • Give kit items to a player.
      • wizards.giveKit
    • /wizards selectkit <player> <kit>
      • Sets a kit to a player
      • wizards.selectKit
  • Added a new line to execute commands after selecting the kit:
    • To use, add Command-After-Select line to the kit.
    • Code (Text):
      Command-After-Select: 'command to execute'
    • It has the %player% Placeholder
  • Added a new line to execute commands after the game starts
    • To use, add Commands-When-Game-Start line to the kit.
    • Code (Text):
      Commands-When-Game-Start: 'command to execute'
    • It has the %player% Placeholder
  • Added a way to execute commands when clicking the kits menu
    • Items.Shop.Item-Command-When-Right-Click
    • Items.Shop.In-Game-Item-Command-When-Right-Click
    • If empty (default) it will not execute anything, otherwise it will not open to Wizard's kit menu, this was made to use custom menus.
Example of a kit with the new command lines:
[​IMG]
----------, Feb 17, 2023

  • Fixed items not loading if there's an empty slot.
----------, Feb 14, 2023

  • Better Crackshot support.
    • You now need to use the weapon tag and correct weapon name.
      • Example: FEATHER : 1 : weapon : name:AK-47
    • Note that you need to set Options.CrackShot and restart the server.
  • Not tested: Added CrackShotPlus support.
    • Usage example: 'CROSSBOW : 1 : csp:YourAttachmentItemStackString : name:&eWeapon'
    • As it is a premium resource, I have no ways to test it, if it doesn't work can't do much about it.
  • Changed some default values.
  • If the config tries to point to class name when using kits, it should no longer cause any problems and point to the kit name without having to change the language file.
  • Fixed other minor issues.
----------, Feb 13, 2023

----------, Dec 28, 2022

  • Completely recoded how leveling up is handled, work as intended now. Fully tested and out of beta testing, you can re-enable the feature if you want to use it.
----------, Dec 15, 2022

  • Bocks within 5 blocks of the Powerup Item cannot be destroyed anymore.
  • Optimized Data Writing methods to Database, will not impact performance as its not made on main thread but it should be a lot faster.
  • Other internal changes.
  • Added a new class: Boulder
    • Throws a pile of blocks to the location where the player is looking at, causing AoE damage and slow on impact.
    • [​IMG]
    • As the player can throw it upwards, there's a option to disable mana regeneration until the impact if you need to balance it.
    • Here's the Boulder-specific options:
    • Code (Text):
      #Boulder Values
      apply-slow: true
      slow-duration: 1
      slow-level: 1 # 0 = 1, 1 = 2...

      #Will create a true explosion on impact, breaking blocks, otherwise it's just an explosion effect
      real-explosion: true

      #If set to true, the mana regeneration will be disabled until impact.
      lock-mana-regeneration: false
shop.yml will not auto-update, so make sure to recreate the file or add those lines to your shop.yml:

Code (Text):
boulder:
item: 'GRASS_BLOCK : 1'
name: '&6Boulder'
lore:
  - '&7Throw a pile of blocks'
  - '&7that will explode on'
  - '&7impact, causing'
  - '&7AoE damage.'
slot: 32
As always, balance is not taken in consideration, make sure to adjust values in boulder.yml.
----------, Dec 6, 2022

  • Added a new Powerup: Mana Regeneration
    • Regens the mana faster for a few seconds for all team members or for yourself (configurable).
    • To avoid conflict with WizardsEnhancements plugin, the powerup name on command is ManaRegen.
    • You can find everything at
      • Options.Game.Powerups.Mana for settings and
        Powerups.Mana-Name for language.
  • Fixed a issue where changing the mana value or the time type would result in mana value above 100.
  • Fixed some other small mana generation issues when chaging the time type.
  • Changed some default class values for balance purposes .
----------, Oct 30, 2022

  • Added a new Powerup: Mana Regeneration
    • Regens the mana faster for a few seconds for all team members or for yourself (configurable).
    • To avoid conflict with WizardsEnhancements plugin, the powerup name on command is ManaRegen.
    • You can find everything at
      • Options.Game.Powerups.Mana for settings and
        Powerups.Mana-Name for language.
  • Fixed a issue where changing the mana value or the time type would result in mana value above 100.
  • Fixed some other small mana generation issues when chaging the time type.
  • Changed some default class values for balance purposes .
----------, Oct 30, 2022

  • Fixed the data loading message being sent multiple times.
----------, Oct 17, 2022

  • Added a check to see if player data was loaded to avoid issues when trying to join a game.
    • New message to translate: Messages.Data-Wait-A-Few-Seconds
  • Added a new option at Options.Use-Join-As-Rejoin-When-Available
    • If a player can rejoin a game, the /wizards join command will automatically put the player on the game.
  • Added support for LINGERING POTION item
    • Usage example:
      • 'LINGERING_POTION:FIRE_RESISTANCE : 1'
----------, Oct 15, 2022

  • Fixed Cosmos Class not using any mana.
Please update ASAP if you are using 4.1.0
----------, Sep 26, 2022

All new classes are tested to some extent, please do some testing, proper balancing and report any problems in PM or Discussion.
  • New Class: Cosmos
    • Creates a Meteor above the player that will create a impact doing AoE damage and applying blindness.
    • Cosmos config options:
    • Code (Text):
      #Cosmos config

      #Meteor spawn Y
      #This will add to current player's location.
      meteor-spawn-y: 35

      #Meteor speed multiplier
      meteor-speed-multiplier: 0.7

      #Should the Meteor spawn fireworks?
      spawns-firework: true

      #Should the meteor explosion remove blocks?
      meteor-explosion: false

      #If set to true, the meteor will only impact on ground.
      #Otherwise, the location of the impact will be (the location where the skill was activated) - (meteor-spawn-y)
      #meaning that it will decrease a Y coordinate until it reaches 0, that way it can explode on air.
      only-explode-on-ground: true

      #Blidness config, 20 ticks = 1s
      apply-blindness: true
      blindness-time-in-ticks: 35
Note: You need to manually add the class to your shop.yml, the default value is
Code (Text):
cosmos:
item: 'COAL_BLOCK : 1'
name: '&6Cosmos'
lore:
  - '&7Spawns a meteor that will'
  - '&7impact the ground and'
  - '&7cause AoE damage.'
slot: 30
hard to think of new classes names sometimes, feel free to change it!
----------, Sep 25, 2022

  • Added %class_displayname% placeholder to:
    • Both lobby and in-game Scoreboard.
    • Messages.Class-Changed.
  • Added class and kit Placeholders to PlaceholderAPI:
    • %wizards_kit_name%
    • %wizards_kit_displayname%
    • %wizards_class_name%
    • %wizards_class_displayname%
----------, Sep 2, 2022

  • Player skulls on spectator menu have been updated to work in 1.16+.
  • Minor changes to Portal loading when the map is loading using Multiverse.
  • Help command updated as requested.
    • You can now see all commands via /wizards help <1-4>
    • Better command feedback to see what's wrong and what to use when you type a command
  • Removed some debug code.
----------, Aug 22, 2022

This version contains a emergency (recent problem, it does not impact older Wizards versions) bugfix, please update as soon as possible.
  • NEW CLASS: Squid
    • Spawns circles that will cause damage and heal teammates by 2HP per enemy hit.
    • Will also apply small knockback.
    • Class config:
      Code (Text):
      #For example, If there are two enemies around the player, heal value will be 4hp (2❤)
      healing-per-player: 2

      #Area for teammates to be healed
      healing-area: 3.5

      #This only apply to heal and particles, all players within the damage-area will take damage.
      #By default, set to 4, so if healing-per-player is set to 2 and limit to 4, teammates can only be healed by 8hp (4❤).
      player-limit: 4

      #Should cause knockback?
      apply-knockback: true
      Y-multiplier: 1.2
      X-multiplier: 0.4
  • Added a way to add Potion Effects via scripts, I've added some default values for Squid to use as an example
    • wizard.addPotionEffect(player, effect, ticks, level);
    • Code (Text):

      scripts:
        - "wizard.addPotionEffect(player, \"DAMAGE_RESISTANCE\", 25, 0);"

      target-scripts:
        - "wizard.addPotionEffect(targetplayer, \"BLINDNESS\", 40, 0);"
      ally-scripts:
        - "wizard.addPotionEffect(allyplayer, \"DAMAGE_RESISTANCE\", 25, 0);"
       
    • scripts: adds DAMAGE RESISTANCE (level 1) to yourself for 1.5s.
      ally-scripts: adds DAMAGE RESISTANCE (level 1) to all nearby teammates for 1.5s.
      target-scripts: applies BLINDNESS (level 1) to all nearby teammates and for yourself for 1.5s.
    • Potion Effect List: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html
  • Added 'targetplayer' to scripts.
    • Returns the bukkit player version of target.
  • Fixed 'player' returning gameplayer for scripts.
  • Added a join menu:
    • /wizards joinmenu
      • alises: gui, arenas
    • You can set to show or not show an arena on the menu if the player cannot join the game by setting Options.Game-Menu-Show-Only-Available-Arenas to true.
    • You can edit menu items at Items.Join-Arena-Item and
      Items.Cannot-Join-Arena-Item
    • You can change the Menu name and Item lore at
      Messages.Menus.Join-Menu-Name,
      Messages.JoinMenu.Item-Lore
  • Fixed a major issue where game update task is occurring 2 times.
  • Removed delay from healing potions for heal.

shop.yml is not updated by automatically.

Please make a backup of your shop.yml and delete it to generate a new one OR add the following lines:
Code (Text):
squid:
item: 'BLACK_DYE: 1'
name: '&6Squid'
lore:
   - '&7Spawns circles that will cause'
   - '&7damage and heal teammates'
   - '&7by 2HP per enemy hit.'
slot: 28

NOTE: Js-Engine will not work on newer Java/MC versions, this is a known issue at the moment, will work on it.
----------, Jul 25, 2022

  • Added a option to load the game world using Multiverse-Core.
    • Some servers may experience better performance, some worse, or even nothing at all, test on yours for better result.
    • At Options.Multiverse-World-Handling
----------, Jul 18, 2022

  • Added 1.19 support.
    • If you are on 1.19, make sure to get the latest version spigot build as the first few one has world loading/unloading issues.
  • Fixed a few some 1.18-related problems.
----------, Jun 10, 2022

  • Fixed starting state not working correctly when multiple players join at the same time.
----------, May 27, 2022

  • Added a new Class: Cryomancer
    • Similar to Aquamancer and Pyromancer, fires a spell of Ice, causing slow effect to enemies for a few seconds.

  • Added a new Powerup: Overhealth
    • Increase the max health of a team for a few seconds.
      • Command identifier: Overhealth
      • You can change all the duration, level and player message on.

  • Added a new map config option at Min-Y-Explosions
    • This option will limit the block explosions for the Y coordinate, for example, if this is set to 32, all blocks below the Y=32 will not explode.
    • This can be done by editing the map file before the server stars or using /wizards setExplosionLevel <arena> <Y level>
      • You must finish the arena after using this command to save and apply the changes.

  • Added name above the Powerup Item
[​IMG]
  • Needs HolographicDisplays. Don't worry! Nothing will break if you are not using HolographicDisplays but it won't show the name.
  • The Hologram Y coordinate can be changed at
    Options.Game.Powerups.Hologram-Y
  • Developers can use the setHologram method, example:
    • [​IMG]
    • This will make Wizards handle the Hologram spawn and despawn.
Please create a backup of your shop.yml and delete to generate a new one, or just copy the following value and paste on your shop.yml:
Code (Text):
cryomancer:
item: 'SNOW_BLOCK : 1'
name: '&6Cryomancer'
lore:
  - '&7Shots a spell of ice'
  - '&7causing damage and'
  - '&7applying slow.'
slot: 25
Your settings and messages file will be automatically updated.

There are more Classes planned, one of them are coming very soon! I think it's easier for server owners to balance one class at time, so I'll avoid releasing them all at once.
----------, May 6, 2022

  • Added support for WeaponMechanics
    • To enable it, go to settings.yml ->
      Options.WeaponMechanics and set it to true.
  • Usage example (kits.yml):
    • [​IMG]
      • ITEM : AMOUNT : weapon : name:Weapon Name
      • You can put any item here, it will be replaced to the weapon.
      • I'm not sure if using special characters on kit name at the top (AK47) will cause any problems, avoid it just in case.
    • Result:
    • [​IMG]
Now, note that the weapon will take priority over the lore from Wizards, if you want to put a custom lore with a price on it you cannot use the Weapon on the display-item setting of the kit.
----------, Apr 30, 2022

  • Updated world loading system, should boost performance by up to 33%.
    • Note that arena loading (when arena goes from Restoring to Waiting) may be a little slower now.

If you find any problem, rollback this update and report.
----------, Apr 20, 2022

NOTE: Did some limited testing with the rejoin system, I'd recommend you test the system in a testing environment before updating on your server. As far as I know everything is working correctly.
  • You can now join a game and a team by using the command
    • /wizards join <game> <team>
    • If team is full you will be notified and added to the smallest team.
  • (BETA) New: Rejoin system
    • If you leave the game or the server you have a certain time to rejoin the game by using /wizards rejoin, you can set the time in settings at Options.Rejoin.Time-Out-In-Seconds, you can also disable this feature at Options.Rejoin.Enabled. DISABLED by default. I'd recommend you restarting the server after enabling the option to fully initialize the system tasks.
    • Wizards checks when players leave the game to add a game played and a loss to the stat, if this system is enabled this won't happen, the player will only receive a loss and a game played after the timeout, if the player is offline this will be done by modifying the database directly.
    • To avoid abusing the system, rejoining the game will count as a death, you will receive a death value to your stat and you will have to wait for the respawn countdown.
    • Stats are always saved, even if you don't have the system enabled; if you have 3 kills leave and join you will still have 3 kills.
  • New messages to translate all new features added:
    • Messages.Team-Full-But-Added
    • Messages.Invalid-Team
    • Messages.No-Rejoin-Available

Please report any bugs via Duscussion or PM, if something is wrong with the rejoin system you can just disable it and report the problem. Plugin will function as the previous version if the system is disabled.
----------, Mar 20, 2022

  • Fixed +0 showing on Points Per Second not displaying correctly after a team captures a point without a owner.
  • Fixed some issues where the Objective not checking correctly if the option Capture-Max was modified.
----------, Feb 9, 2022

  • Players can no longer interact with item frames.
  • Fixed Arcanist class spell cannot pass through some foliage blocks.
  • Added Hex color code compatibility.
----------, Feb 3, 2022

The new spec mode seems to be working great, special thanks to @Galexrt.

  • Added a new location: SPEC_SPAWN
    • /wizards setLocation <arena> SPEC_SPAWN
    • It will set the spectator spawn location.
  • API Changes:
    • GameEndEvent now also triggers when the game is cancelled, you can check if the game was cancelled by using event.wasCancelled(); <- True when game is shutdown by using /wizards stop or not enough players, false otherwise.
    • For shutdown, the event is fired right before players are removed from the game so you should still be able to access everything in the game.

To change an arena with SPEC_SPAWN, use the edit command:
  • /wizards edit <arena>
  • /wizards setLocation <arena> SPEC_SPAWN
  • /wizards finish <arena>
And you should be good to go.

If this location is not set the Spectator will spawn on a team's spawn.
----------, Jan 18, 2022

  • (Requested feature) Added /wizards spectate <game>
    • You are now able to spectate games, a new scoreboard config was added to this you can modify the scoreboard for the Spectator.
    • upload_2022-1-18_0-33-53.png
  • For BungeeCord, set Options.Spectate-When-In-Game to true and players will be added to the spectator mode if the match is in IN GAME state.
  • It will not work if the game is starting or ending, you will receive the message at Messages.Cannot-Spectate.

I have limited resources to test this, take this as an BETA feature, not fully tested (did test but only with 2 accounts and no real game running). Report bugs at discussion or Private Message.

If you don't need this feature or can't test please wait until you can test or further confirmation that everything is fine (Discussion).
----------, Jan 18, 2022

  • Added a new game feature: Powerups!
    • There are only 1 powerup type at the moment, but you can add your own powerups via the API, see below.
    • More Powerups will be added in the future, this is just a snapshot of the feature.
  • The current powerup type is POINTS
    • It will add points to the team of the player that picked it up, you can modify the amount of points and respawn delay.
      • Default delay: 180000 = 180s
      • Default points: 150
      • At Options.Game.Powerups.Points and Powerups section at language file.
  • The Powerup system is in its first days, there are no Holograms for it just yet! Hopefully we will have some more customization for non-developers soon, if you have/are a developer you can add Holograms and much more using the API.

Don't worry, your arena won't break if you don't want to use Powerups. If you find a problem please disable your Powerups and report via Private Message!

To create your own Powerup, create a new class that extends Powerup, example:
Code (Text):
public class MyPowerup extends Powerup {


    public MyPowerup(String configIdentifier, Location location, long interval) {
        super(configIdentifier, location, interval);
    }

    @Override
    protected Item respawnPowerup(Location location) {
        return null;
    }

    @Override
    protected void onPlayerPickup(Player player) {

    }
}
Now, you can create your Powerup Item and Powerup Action.

The Identifier is the name in map config and the name you will use to add the Powerup location via command.
Code (Text):
public class MyPowerup extends Powerup {


    public MyPowerup(Location location, long interval) {
        super("MYPOWERUP", location, interval);
    }

    @Override
    protected Item respawnPowerup(Location location) {
        Item item = location.getWorld().dropItem(location, new ItemStack(Material.BLAZE_POWDER));
        item.setVelocity(new Vector(0, 0, 0));
        item.teleport(location.clone().add(.5, 0, .5));
        return item;
    }

    @Override
    protected void onPlayerPickup(Player player) {
        GamePlayer.get(player).setMana(99);
        player.sendMessage(ChatColor.RED + "Filled your mana!");
    }
}
 
That's it! You now have your own powerup.

Now, you need to register the Powerup Spawn and add the powerup to your games. You will need to use the new event made for this: GameArenaLoadEvent.

You will need to access the GameArena and the Map that contains the Locations for each Powerup Type, made this way to be easier for developers.

Code (Text):

@EventHandler
public void onArenaLoad(GameArenaLoadEvent e) {
e.getGame().registerPowerupSpawn("MYPOWERUP");
e.getGame().getGameArena().getPowerups().get("MYPOWERUP").forEach(location ->
       e.getGame().getPowerups().add(new MyPowerup(location, 15000L)));
}
 
Spawns are automatically handled by the Game.

And it's done.

You can now add your powerups to the arena using the command.

For Developers, a quick note here, make sure all your Powerup names are in UPPER CASE, this is not a mechanic limitation, it is just to make it easier when setting up the arena and getting names from config files.

For admins who are setting up the arena it doesn't metter, you can use upper or lower case, it will convert to uppercase anyways.
----------, Dec 10, 2021

  • Added MC 1.18 and Java 17 support.
Note: To avoid problems, I'd recommend you to convert the world backup (in maps folder, the world that plugin uses to restore the arena) to 1.18 if you are planning on using 1.18. You can do this by loading the world on your server without Wizards installed, loading the world in another server or recreating your arena in 1.18.
----------, Nov 30, 2021

  • Added a option to change the Hologram refresh rate (options.yml -> Leaderboard-Refresh-Rate), so you can update time Leaderboard more/less often
    • Minimum is 0.1 seconds.
----------, Nov 12, 2021

  • Added a command to set player's kit.
    • /wizards setKit <player> <kit or class name>
    • Permission: wizards.setkit
    • Can be executed via console or in-game.
    • The command is the same for kits or classes, it will check your config and check if the kit or classes exists accordingly.
----------, Oct 26, 2021

  • Added a new class: Creeper
    • The idea of this class is a Crowd control type, it can cause massive knockback.
    • Custom creeper values from creeper.yml: [​IMG]
    • DEMO (explosion countdown set to 3s): (https://i.imgur.com/me5Sa5N.gif) [​IMG]
      • Note: Players cannot gain mana while this coutdown is running.
    • DEMO (explosion coutdown set to 0): (https://i.imgur.com/6wJZbc4.gif) [​IMG]
  • Fixed some issues with Shaman default yml file.
  • Fixed a bug where when a player dies outside of the game Enderman class will throw a error if Data is not loaded yet.
Please delete your current shop.yml to generate a new one OR add this lines to your shop.yml file:

Code (Text):
creeper:
item: 'TNT : 1'
name: '&6Creeper'
lore:
  - '&7Creates a explosion'
  - '&7that will cause damage'
  - '&7and do knockback.'
slot: 23
For server owners who don't have developers or can't code custom classes, I'll try to keep new classes coming.
----------, Oct 12, 2021

  • Fixed a bug where chat will not work correctly if leveling system is disabled and custom chat enabled.
----------, Oct 6, 2021

  • Updated dependencies;
  • When cleaning inventory, player fire ticks will be set to 0 to avoid player taking damage from fire after leaving a game.

This update is not necessary if you are not having problems with fire, you don't need this update if it is not your case.
----------, Sep 25, 2021

  • Fixed a list of problems that can cause errors after the plugin is running for a while.
----------, Sep 7, 2021

  • Added a small delay to check if player can be healed, this will not impact gameplay.
  • Other small changes.
----------, Aug 31, 2021

  • Following Dragons update, fixed a Bungee Permission issue not letting players join the game after joining the server when using some specific permission plugins.
----------, Aug 28, 2021

  • Fixed MySQL table structure conversion.
----------, Aug 18, 2021

  • Fixed a Leaderboard issue with last update.
----------, Aug 18, 2021

This is a big update, please read everything about this update.

  • BETA FEATURE Added a new option, Options.Leveling-System
    • This option is disabled by default, read about it below.
    • Important: Two new database columns will be added, if you are worried about anything backup your database before updating.
  • Added new PAPI placeholders for levels
    • %wizards_rank%
    • %wizards_exp%
    • %wizards_rank_prefix%
  • Added %exp% and %level% placeholder for stats message.
  • Added Exp Leaderboard.
  • Fixed a problem with Bungee arenas.
  • Fixed a major issue causing the game to give x2 points after a kill.
  • Fixed some language.yml typos.

Leveling System

[​IMG]

When enabled, a new file will be generated, levels.yml, with this file you will be able to add your levels, rewards and more:

Code (Text):

Levels:
  Level-1: #Do not change the Level-1 section
    exp: 0 #Required Exp
    display-name: "&6Level 1" #Display name in level up message
    prefix: "&6[1]" #Chat prefix, if enabled, hooked to PAPI
    commands-to-execute: [] #Commands to execute when reaching the level
    level-up-message: [] #Message to display
  Level-2: #From now on you can change
    exp: 10
    display-name: "&6Level 2"
    prefix: "&6[2]"
    commands-to-execute:
      - wizards coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lWIZARDS&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &b%next_level% &7(%until_next_level%/%next_level_exp% EXP)'
      - ''
      - '&7&m-------------------------------------'
  Level-3:
    exp: 20
    display-name: "&6Level 3"
    prefix: "&6[3]"
    commands-to-execute:
      - wizards coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lWIZARDS&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &b%next_level% &7(%until_next_level%/%next_level_exp% EXP)'
      - ''
      - '&7&m-------------------------------------'
 
Please do not change Level-1 as it is the default Database value, you can just use display-name to not show "Level-1" in game, the section name is just a backend thing.

After updating and loading the plugin for the first time, Wizards will start rebuilding your Database to add Exp and Rank data, this can take some time. PLEASE BACKUP YOUR DATABASE in case anything goes wrong. You can backup SQLite just by copying the players.db file, in MySQL it will depend, download the Wizards table or create a backup if a backup option is available.

After that, everything should work fine. Stop the server and modify levels.yml to add your ranks and rewards.

How to Earn Exp
Players can earn Exp by playing, kills/assists, wins cand capturing points, check options.yml and you will see a new Exp section to modify.

Give Exp to old players

Set Options.Update-Levels to true in options.yml, when a player joins the server after this update, players will get exp based on wins, games played and kills/assists.

Note that some exp methods (like point captured) is not stored to calculate.

What if I don't want to use Leveling system?
Just don't enable the option. Everything will work just fine without it.

Leave a review about this update if you can! Please report bugs via Private Message (Sometimes I don't get Discussion notifications, If you report a problem via Discussion and get no answer within 24 hours please send me a PM).
----------, Aug 18, 2021

  • Added %player% placeholders to Rewards & Start/End Commands;
    • Options.Game.End-Commands
      • %player% will apply to all players in the game (winners and losers)
    • Options.Game.Start-Commands
      • %player% will apply to all players
    • Rewards.Win-Commands
      • %player% will apply to all winners
    • Rewards.Losers-Commands
      • %player% will apply to all losers
  • Added a permission: wizards.bungeebypass
    • It will allow a player to join a game server without being added to the game. This permission is set to false by default, meaning that not even ops will have it.
  • Added exp bar level countdown for pre game start.
    • You can also also use exp for %, toggleable option at settings.yml Options.Use-Exp-Bar-Countdown
    • Can be disabled at Options.Use-Level-Bar-Countdown
----------, Aug 12, 2021

  • Fixed /wizards reload command not working when kits are enabled.
----------, Aug 10, 2021

  • Fixed Kills achievement not working.
  • Fixed games played achievement not working in some cases.
  • Fixed a typo in default achievements file.
  • Other internal changes.
----------, Jul 16, 2021

  • Following previous update, added a shutdown command to stop all games if you server has scheduled restarts.
    • /wizards shutdown (permission: wizards.shutdown)
    • Note that using this command will not restore the arenas as the command is supposed to be used before server shutdown, if you want to restore the arenas use /wizads restore (permission: wizards.restore), it will create your games.
----------, Jul 12, 2021

  • Attempt to fix a occasional problem with inventory restore when server pauses during a game.
----------, Jul 12, 2021

  • Added the following Placeholders (PlaceholderAPI):
    • %wizards_arena_players_{arena}%
    • %wizards_arena_max_players_{arena}%
    • %wizards_arena_min_xplayers_{arena}%
    • %wizards_arena_status_{arena}%
    • %wizards_points-to-win_{arena}%
      • Usage example (DeluxeMenus):
      • [​IMG]
  • You can now change the score to win Per arena.
    • /wizards setPointsToWin {arena} {score}
      • Note that you have to use the finish command after this.
    • The default value after creating a map (and if the map already exists after this update) will be the value from options.yml.
  • If all players from a team leave the game, the game will be cancelled, not giving win or coins.
    • Added a message for that ->
      Messages.Game-Cancelled-Lack-Of-Players
  • Fixed remove portal commands.
  • Fixed some damage issues.

Known problems:
  • 1.16 client (on 1.8 servers) cannot use Mounts, this is not a Wizards bug, you can test yourself trying to mount in a horse without having the plugin Installed.
    • Not sure if this can be fixed in 1.8.9, it is a easy fix for 1.9+.
----------, Jul 5, 2021

  • Added a option to execute commands when the game starts and ends.
    • At Options.Game.Start-Commands and Options.Game.End-Commands
  • Scoreboard color parse hotfix for Spigot (not paper, spigot problem only it seems?) 1.16+
----------, Jul 2, 2021

  • Added a new option; Options.Use-Class-Permission-As-Owned
    • If true players with the class permission will be able to select the class without needing to purchase it.
    • Make sure to add permission to the class for that.
  • Added %wizards_balance% Placeholder to PlaceholderAPI.
  • Fixed /wizards coins add and /wizards coins remove command not working.
  • Fixed a bug where if you leave the game using the leave command the Scoreboard will not be showed in the next game/when you rejoin the game.
  • Fixed Cooldown ActionBar stays after leaving a game.
----------, Jun 28, 2021

  • You can now add 'permission' line to a Class file so players will need the permission to purchase the class
    • Example:
      • [​IMG]
----------, Jun 27, 2021

Sorry for the double 3.6.5! Forgot an important setting in the new Scoreboard to correctly update tablist.
  • New anti-flicker scoreboard system.
    • The previous system was just temporary to work with 1.17.
    • Note that 1.8-1.12 now has limited characters, as you probably know this is a Minecraft limitation and can't do much about it.
    • 1.13+ can still use the Scoreboard-Line-Length-Max setting if you want to limit the Scoreboard size (up to 64).
  • Fixed a bug with incorrect Operator checking for max players in a game.
  • Minor changes.


Note to 1.8/1.12 users, if you see a out of place character in your Game Scoreboard Team Points (in default config), copy the following Scoreboard config and paste in your config:
Code (Text):
  Game-Scoreboard:
  - ' '
  - '&cRED&f: &c%red_points% &f/ &a+%red_points_per_second%'
  - '&9BLUE&f: &9%blue_points% &f/ &a+%blue_points_per_second%'
  - ' '
  - '&fTime: &b%formatted_time%'
  - ' '
  - '&fKills: &a%kills%'
  - ' '
  - '%objectives%'
For out of colors config values, add &f to the start of the scoreboard line.

It should fix it.
----------, Jun 27, 2021

  • New anti-flicker scoreboard system.
    • The previous system was just temporary to work with 1.17.
    • Note that 1.8-1.12 now has limited characters, as you probably know this is a Minecraft limitation and can't do much about it.
    • 1.13+ can still use the Scoreboard-Line-Length-Max setting if you want to limit the Scoreboard size (up to 64).
  • Fixed a bug with incorrect Operator checking for max players in a game.
  • Minor changes.

Note to 1.8/1.12 users, if you see a out of place character in your Game Scoreboard Team Points (in default config), copy the following Scoreboard config and paste in your config:
Code (Text):
  Game-Scoreboard:
  - ' '
  - '&cRED&f: &c%red_points% &f/ &a+%red_points_per_second%'
  - '&9BLUE&f: &9%blue_points% &f/ &a+%blue_points_per_second%'
  - ' '
  - '&fTime: &b%formatted_time%'
  - ' '
  - '&fKills: &a%kills%'
  - ' '
  - '%objectives%'
For out of colors config values, add &f to the start of the scoreboard line.

It should fix it.
----------, Jun 26, 2021

  • Fixed a bug where Scoreboard Objective Color would not update correctly for some players or for all players in a team.
    • This was a known issue since the ~2.0, it should be finally fixed.
  • Added a new option to increase scoreboard line length.
    • Default is 48, which is the limit for 1.8-1.12.
    • At Options.Scoreboard-Line-Length-Max
  • Fireworks will now spawn at all game objectives, with the color of the winner team.
  • Other small compatibility changes.
----------, Jun 22, 2021

  • Added spigot 1.17 & Java 16 support.
    • While this is not a big feature update, it's a big recode to some systems, no metter your server version I would recommend testing the plugin yourself before doing major server updates, report bugs via PM or discussion.
    • Will not force you to use Java 16, it should still work on Java 8, but please update to Java 16 as soon as all your plugins can support it.
  • Added PlaceholderAPI support for chat-format.
  • Fixed minor issues with players leaving the game.
  • Fixed Wither Effect not being removed.
  • Fixed HealthBar not updating correctly after damage from some specific damage causes.
  • Fixed Scoreboard would leave empty strings if a objective is not set, counting as a full line.
    • If you want a blank line on the Scoreboard, please use ' ' (leave a space between the '), otherwise the Scoreboard will skip this line.
  • Optimizations to Scoreboard Updates, Enderman Class Recall and some tasks to prevent unnecessary Resource Usage.


Please report bugs via PM or Discussion.
----------, Jun 15, 2021

  • Auto-Join command will now put you in a random map.
  • Changes to data loading/unloading for offline-mode servers.
    • Fixes some offline-mode setting issues.
----------, Jun 6, 2021

  • Readded/fixed auto join command
    • /wizards join
----------, May 29, 2021

  • Added a custom HideItemInfo flag for items.
    • Will hide attributes, unbreakable, enchants, dye and Potion Effects.
    • Usage:
      Code (Text):
       item: 'GOLDEN_HOE : 1 : HideItemInfo'
  • Added ItemFlag item tag
    • Usage:
      Code (Text):
       item: 'GOLDEN_AXE : 1 : ItemFlag:HIDE_ATTRIBUTES'
  • Added ModelData item tag (1.14+)
    • Usage
      Code (Text):
       item: 'CARROT_ON_A_STICK : 1 : ModelData:1'
  • Added some better feedback for some commands.
  • /wizards reload will now also reload the shop file.
  • (Classes Shop) You can now add add a balance item in shop.yml
    • Example
      Code (Text):
      balance:
      item: 'EMERALD : 1'
      name: '&7Coins &6%balance%'
      lore: []
      slot: 49
    • It has to be named balance, dont change the name.
  • (Classes Shop) Added %price% placeholder for classes for shop.yml.
    • It can be replaced to Messages.Click-To-Select, Messages.Selected or Messages.Class-Price if you dont have the class.
  • Added AnimatedScoreboard support.
    • At options.yml, set Toggle-AnimatedScoreboard to true, Wizards will handle the AnimatedScoreboard, disabling and enabling while joining/leaving a game.
  • Added PlaceholderAPI support for Scoreboard.
  • Minor bugfixes.

All item changes applies for all items; Menus, classes, kits and player inventory.
----------, May 24, 2021

If you dont need the class API you don't need to update right now, there are structural changes to classes but nothing will change to performance or gameplay.
  • You can now create Classes using the API, see example below.
    • A quick note on this, you cannot use the class reload command when using the API to inject a new class, it will not register the class injected via API.
  • (Extra, QoL) After the game starts, players will take 0.5 of damage to prevent HealthBar showing 0.


Class names and Display names;

  • Please don't change the Original name (file name, shop name) of the already existing classes, the plugin needs to check for the Original name to handle the Shop.

How to create your own class, some notes

  1. Create a class with the name you want, extends by WizardClass and apply the default values.
  2. For the Developer to work with mana, I changed so you need to apply the mana usage of every class you create.
    1. Same for kit items.
Class example
Code (Text):
import com.floodeer.wizards.Wizards;
import com.floodeer.wizards.game.GamePlayer;
import com.floodeer.wizards.game.classes.WizardClass;
import com.floodeer.wizards.particles.ParticleEffect;
import com.floodeer.wizards.script.ScriptManager;
import com.floodeer.wizards.util.ItemFactory;
import com.floodeer.wizards.util.LocationUtils;
import com.floodeer.wizards.util.Util;
import org.bukkit.Location;
import org.bukkit.entity.Player;

import java.io.File;

public class Reaper extends WizardClass  {

    public Reaper(String name, File configFile) {
        super(name, configFile);
    }

    @Override
    public void give(Player player) {
        player.getInventory().addItem(ItemFactory.unbreakable(getWeapon()));
        player.getInventory().setHelmet(ItemFactory.unbreakable(getHelmet()));
        player.getInventory().setChestplate(ItemFactory.unbreakable(getChesplate()));
        player.getInventory().setLeggings(ItemFactory.unbreakable(getLeggings()));
        player.getInventory().setBoots(ItemFactory.unbreakable(getBoots()));
    }

    @Override
    public void onInteract(Player player) {
        GamePlayer gp = GamePlayer.get(player.getUniqueId());
        if (gp.getMana() < getManaCost()) { //Mana Manager
            if(!Wizards.get().getMessages().enoughMana.isEmpty())
                gp.getP().sendMessage(Util.colorString(Wizards.get().getMessages().enoughMana.replaceAll("%prefix%", Wizards.get().getMessages().prefix)));
            if(!Wizards.get().getOptions().enoughMana.isEmpty())
                Util.playSound(gp.getP(), Wizards.get().getOptions().enoughMana);
        } else {
            ScriptManager.run(gp, getScript()); //Script system, if enabled

            gp.setMana(gp.getMana() - getManaCost()); //Remove player mana

            //Skill start
            Location location = player.getLocation();

            //Skill Particle Effect
            LocationUtils.getCircle(location.clone().add(0.0D, 1.0D, 0.0D), 5.0D, 40).forEach(l -> {
                ParticleEffect.CRIT_MAGIC.display(0.0F, 0.0F, 0.0F, 0.1F, 3, l, 126);
                ParticleEffect.CLOUD.display(0.0F, 0.0F, 0.0F, 0.01F, 1, l, 126);
            });

            //Apply skill damage and effects
            Util.filterAreaDamage(player, getDamage(), location, getAreaDamage(), false, Wizards.get().getMessages().magic).forEach(target -> {
                ScriptManager.run(gp, GamePlayer.get(target), getTargetScript());
                GamePlayer targetgp = GamePlayer.get(target);
                targetgp.setMana(0);
                target.sendMessage(Util.colorString("&cYour mana has been devoured by &4" + player.getName() + "&c!"));
            });

            //Skill end
        }
    }
}
To tell Wizards that you have a class to add, add the following code to your onEnable

Code (Text):
 WizardClasses.injectClass(Reaper.class, "Reaper", "reaper.yml");
Where Reaper is the class that extends WizardClass, Reaper is the Original name and reaper.yml the class file name that will be generated so you can change it however you want.

After creating the class, you need to manually add to the shop.yml;
Code (Text):
reaper:
  item: 'DIAMOND_SWORD : 1'
  name: '&6Reaper Class'
  lore:
    - '&7Removes mana from'
    - '&7nearby players.'
  slot: 23
Where's everything you need from WizardClass
Code (Text):
 

   public String getOriginalName();
 
    public String getDisplayName();
 
    public List<String> getDescription();
 
    public int getPrice();
 
    public int getMaxDistance();
 
    public int getManaCost();

    public ItemStack getHelmet();
 
    public ItemStack getChesplate();
 
    public ItemStack getLeggings();
 
    public ItemStack getBoots();
 
    public ItemStack getWeapon();
 
    public double getDamage();
 
    public double getAreaDamage();
 
    public double getExplosionRadius();
 
    public List<String> getScript();
 
    public List<String> getTargetScript();
 
    public int getManaPerHit();

    public Collection<PotionEffect> getEffects();

    public List<ItemStack> getItems();
   
Everything from here is taken from your class.yml, you can, of course, ignore all of that and create the class however you want without interacting with the class file.

This updated changed how classes are handled, please do some small testing before updating.

New classes will keep coming via updates if you don't have a Developer.
----------, May 14, 2021

  • Fixed a bug with Mage class trying to calculate skill distance between 2 worlds.
----------, May 13, 2021

  • Added 5 ticks of invincibility after being hit by Fighter class to prevent players from sometimes dying more than 1 time after a single hit.

New Scoreboard system seems to be working fine to everyone so we can now call this a feature.
----------, May 13, 2021

  • You can now fully customize the Scoreboard.
    • Use per player placeholders.
    • Players that are not in a game/in same game (or no playing) will not see colored tablist for teams.
[​IMG]
[​IMG]

  • Wizards Placeholder list:
    • %kit% - Player kit or class.
    • %formatted_time% - Game time in mm:ss
    • %kills% - Game Kills
    • %deaths% - Game Deaths
    • %red_points% - Red points
    • %blue_points% - Blue points
    • %red_points_per_second% - Red points per second
    • %blue_points_per_second% - Blue points per second
    • %objectives% - Will replace all next lines with the amount of objectives you have.
  • Lobby placeholders:
    • %players% - Current number of players
    • %maxplayers% - Max amount of players
    • %minplayers% - Min amount of players
    • %mapname% - The map name
    • %timer% - Starting timer
    • %state% and %capitalize_state% - Game state
    • %wins% - Player wins stat
    • %games_played% - Player Games played stat
    • %balance% - Player balance
    • %kit% - Player kit or class.
  • Note that some messages for scoreboard in language.yml have changed.
This is the most requested feature, sorry for the long wait, had to try some different approaches to this to work smoothly - it ended up using the same system as SpeedRun.

Everything was tested to some extent, that's the reason it's a SNAPSHOT.



Leave a review if you you have some time
----------, May 2, 2021

  • Added a new option to not modify the player inventory after joining a game.
  • Attempt to fix an plugin incompatibility causing item dropping after death by forcing Minecraft's Keep Inventory.

Here's what you have to change if you want your players to play the game with their equipment

  • Set Options.Change-Class-In-Game to false
  • Set Mounts.Enable-Mounts to false
  • Set Options.Game.Change-Class-In-Game to false
  • Set Options.Game.Team-Armor.Enabled to false
  • Update and set the new option Options.Keep-Inventory-When-Joining-A-Game to true.
  • You can use kits or classes, the option should work for both modes.
I'd recommend playing a test game with this new option to fully test everything.
----------, Apr 17, 2021

  • Fixed HealthBar not working on 1.16.5.
  • Mount will now be removed when game ends to prevent problems.
  • Switched repository to paper.
    • Still works fine on Spigot, not using Paper methods for now.
----------, Apr 5, 2021

  • Updated how explosions are handled.
  • Updated how damage is handled.
  • Added new API methods to work with a new optional Resource!
    • Addons are small changes using the API to bring some new functionalities.
  • You can now translate ability types to use in the API.
----------, Mar 31, 2021

  • Added a condition to check if player is in game arena before the recall ability starts working.
  • Game point system optimizations.
----------, Mar 15, 2021

  • New class: Arcanist
    • Shots a instant spell that will cause area damage if impacts with a enemy.
    • Check arcanist.yml to modify damage, area and max distance.
    • As always, please do some testing (and balancing) on your own before updating, default values are for testing only!
  • Fixed some problems with Material detection.
  • Fixed some particles not working correctly.
  • Fixed some class spells not working correctly.
  • Minor fixes and changes.
----------, Feb 13, 2021

  • Fixed some Vault issues.
  • Fixed some particle issues with 1.16+.
  • Internal changes to classes for future versions.
----------, Nov 13, 2020

  • Some changes to 1.16 values for NMS, don't need to update if you are not using 1.16x.
----------, Oct 2, 2020

  • Fixed weapons not setting correct Item amount.
  • Fixed ItemBridge not parsing some display-items.
  • Fixed unnecessary creation of game tasks.
  • Attempt to fix other minor issues.
----------, Sep 9, 2020

  • Improvements on game handling.
    • World will not save after a game anymore, unnecessary use of resources as the world will be deleted.
  • Removed unnecessary tasks.
  • Better and more efficient resource usage.
  • Some background tasks should now run async.
  • Fixed restoring state not working on some sign lines.

This is a snapshot version, report bugs on discussion or via Private Message if you find any problems.

Please make a backup of your maps folder before updating.

For performance, remember that you can change or disable some tasks in settings.yml, Wizards will show the startup process on your timings, to fix change, you can use the timeline or just turn timings off after start and then on again to get more accurate values.
----------, Aug 20, 2020

  • Added a small delay to world unloading to prevent session.lock from being unloaded when server latency is high.
    • This is better for BungeeCord servers where the time to disconnect from a server and connect to the hub is higher than just sending a player to other world.
----------, Jul 26, 2020

  • Added a new option Options.Reset-Stats-When-Rejoin
    • If you let your players join while in game, this option can be useful.
  • Fixed game checking for start when already started.
  • Attempt to fix 1.8-1.12 world handling.
  • Attempt to fix teams not working correctly when rejoining a game.
  • Made some mechanics changes for upcoming Scoreboard update.

Tested but I'd recommend to do test this version on your own.
----------, Jul 17, 2020

  • *You can now use Team Armor option when using kits.
Had a bug in last version, should work now.
----------, Jul 4, 2020

  • You can now use Team Armor option when using kits.
----------, Jul 4, 2020

  • Added 1.16 support.
  • Added %color% and %team% placeholders to start message.
  • Fixed enderman class can use recall while spectating.
  • Fixed enderman class can save movement data while spectating.
  • Fixed enderman class data not being cleaned up after player leaving the game/game ending.

Note: Some spigot/minecraft server features are broken in 1.16 (e.g: Fireworks), use Paper 1.16.1 if you want to use 1.16.
----------, Jun 28, 2020

  • Fixed unbreakable items for1.8
  • You should be able to use unbreakable tag in 1.8 now.
----------, Jun 16, 2020

  • Fixed some Bungee issues.
  • Fixed a bug where if you leave from the game you won't be removed from your team.
  • Buff potion effects will now work on your team and debuff potion effects will only work on enemies.
  • Potion effects will now also be changed when kits is enabled.
----------, Jun 15, 2020

  • Added start title and subtitle with %color% and %team% placeholders for both.
    • At Messages.Titles.Titles.Start and Messages.Titles.Subtitles.Start.
  • Minor code changes.
----------, Jun 9, 2020

  • Important change on player's data saving.
    • Will check if player data IS fully loaded before saving when the player left the server.
    • If the access from your server to a database is somewhat slow or limited you should update ASAP to avoid data loss.
  • Added Messages.Loading-Data, if player's data still loading when using a Placeholder or stats command.

Just a heads up, everything was tested and no data loss registered, but I'd recommend you to backup your database (mysql or players.db file) if possible.
----------, Jun 5, 2020

  • You can now change class (or kit) while in game.
    • Set Options.Change-Class-In-Game to true.
    • Check Items.Shop.In-Game-Item and
      Items.Shop.In-Game-Slot at options.yml.
    • Change the message at
      Messages.Class-Changed, use the placeholder %class% for class name or kit name.
    • You will change your kit/class on respawn.
    • The class selector menu is the same menu as the shop, this may change in the future.
  • Changes to locked item.
    • Path to this item has changed to not cause errors on startup.
  • General task optimizations.
  • Fixed players not getting the mount item after respawn.
  • Fixed config restoring to default values after pausing, even after using the save command.
  • Fixed disabling Wizard's damage not working.
----------, May 14, 2020

  • Leaving a empty slot (or setting to AIR : 1) in armor slot in kits.yml and classes will now work.
----------, May 6, 2020

Sorry! This is the 3.0.1 again, forgot to update maven and api values in plugin.yml, don't need to update if you already download the previous 3.0.1.
  • Fixed hand and item damage values not working correctly.
  • Fixed a bug where if you kill a player without using skills the kill won't count.
  • Fixed chat not working without PlaceholderAPI.
----------, May 2, 2020

Please read everything before updating! I'd recommend you to delete language.yml and options.yml, see the reason below.

New Class!
  • Shaman
    • Summons a tornado!
    • Code (Text):

      #
      #For a complete tutorial see pyromancer.yml.
      #
      # Note that all values that are set to 0 here are not being used.
      #
      display-name: 'Shaman'
      description:
      - '&9Shaman'
      - ' '
      - '&7Creators a Tornado!'

      #Global settings
      price: 6500
      mana-cost-per-use: 100
      mana-per-hit: 100
      gain-mana-while-tornado-is-active:
      max-distance: 0
      explosion-radius: 0.0
      weapon: 'IRON_SWORD : 1 : name:&bShaman'
      helmet: 'IRON_HELMET : 1'
      chestplate: 'IRON_CHESTPLATE : 1'
      leggings: 'IRON_LEGGINGS : 1'
      boots: 'IRON_BOOTS : 1'
      scripts: []
      target-scripts: []

      #Shaman settings

      #Tornado damage per second
      damage: 1.5

      #Tornado area
      damage-area: 3.5

      #Tornado duration, in seconds
      tornado-duration: 4.5

      #Will Tornado apply slow effect to players?
      tornado-apply-slow: true

      #Starting from 0
      tornado-slow-level: 1

      #Value in ticks (20 ticks = 1s)
      tornado-slow-duration: 20

      #Push players
      tornado-push-players-back: true
       
As it is, you have to delete your shop file to generate a new one, or just add these lines to your shop.yml (Check the slot, I've modified the default menu and slots)

Code (Text):
shaman:
item: 'IRON_SWORD : 1'
name: '&6Shaman'
lore:
  - '&7Creates a tornado that'
  - '&7causes damage per second'
  - '&7and slow effect.'
slot: 19

As always, you can modify everything on the class file.

Was planning 3 classes for this update, but there's a lot of other things that had to be reworked, new classes coming soon.

General
  • Added support for ItemBridge for Items.
    • Set Options.ItemBridge to true.
    • Just set the item name to the item name that you want ItemBridge to get.
    • Tested, but please test it out before running on a server, let me know if you find any problems with it, it's a very simple thing but for loading kits it can mess something up.
  • Added some Objectives settings:
    • Capture-Rate: Default > 1
      • Decrease to add capture time.
    • Capture-Max: Default > 24
      • Increase to add capture time.
  • Added /wizards reloadClasses
    • Please be careful, this will unregister all classes events and unload everything from memory and to load again.
    • Also, please, DO NOT reload Wizards with PlugMan, we have a reload command for everything now.
    • There is a protection system that will not let you use the command if there's a game running.
  • Added items to classes file.
    • Works the same way as kits.
    • You have to manually add the lines below to your classes file or delete your classes files to generate new files ones.
      • Code (Text):
        display-name: 'Herobrine'
        description:
        - '&9Herobrine'
        - ' '
        - '&7Shots a spell of Lightning'
        - '&7causing with &c3.0❤ &7of damage.'
        price: 1000
        mana-cost-per-use: 35
        mana-per-hit: 1
        max-distance: 80
        damage: 6.0
        damage-area: 5.0
        explosion-radius: 4.5
        weapon: 'GOLDEN_AXE : 1 : name:&bStrike'
        helmet: 'IRON_HELMET : 1'
        chestplate: 'IRON_CHESTPLATE : 1'
        leggings: 'IRON_LEGGINGS : 1'
        boots: 'IRON_BOOTS : 1'
        scripts: []
        target-scripts: []
        items:
          - 'ARROW : 64'
  • Added an option to set arena bounds so players won't leave the arena.
    • Use /wizards wand, it works just like WorldEdit wand.
    • Select the corners and use /wizards setBounds <arena>.
    • You can choose to teleport or kill the player when the leave the arena area, set
      Options.Game.Kill-Player-When-Leave-Arena-Bounds to false to just teleport the player to the spawn.
    • Options.Game.Warn-When-Leave-Arena-Bounds warns before applying an action.
    • New Messages: Messages.Out-Of-Bounds,
      Messages.Out-Of-Bounds-Warning.
    • Avoiding WorldEdit due amount of API changes from version 6 to 7.
  • Added a global placeholder (PlaceholderAPI)
  • %wizards_team_color%
    • Returns player's team color, if in game.
  • You can now join a game that already started (Check Options.Join-While-In-Game).
  • Changed Material API.
  • Empty strings ("") will no longer be shown.
  • Wizards will now load when not using Java 8, but with an warning, the plugin is still built in Java 8.
Bugfixes
  • Fixed a bug with 1.13+ items.
  • Fixed saving the arena after using /wizards edit does nothing in 1.13+.
  • Fixed Wizards trying to copy session.lock, causing spam errors due minecraft crap.
  • Fixed scoreboard teams not being created.
  • Fixed team color not being set on tablist.
  • Fixed language.yml typos.
  • Fixed some titles not being displayed.
  • Fixed some sounds not being played.
  • Fixed restoring game state on signs.
  • Fixed win commands not working.
  • Fixed top killers command not working
  • Fixed hand damage applying same damage as weapon damage.
  • Fixed sign not updating.
  • Fixed coins per kill not working.
  • Fixed disable rewards not working.
  • Fixed limit of Offline Data not working.
  • Fixed Block data errors in Legacy versions.
  • Fixed Some problems with Indicators.
  • Recoded World loading and deleting.
    • World loading should be a lot faster now.
  • Removed unused options and messages.
    • Reorganized options.yml and messages.yml
    • I'd recommend you to backup your settings and language files to delete and generate new fresh ones. You'll get all new options anyways but a lot of things were removed, had the name changed or had its path changed.
  • Removed ton of unused code.
Thanks for all suggestions, part of them are in this update, things that aren't on this update yet will be implemented later!

As you can see that was a big update with a ton of bugfixes, please test it out and report anything you find.

Please report bugs at discussion or via Private Message. Also feel free to leave a review on Wizards, let everyone know what you think of the resource!
----------, May 2, 2020

  • [Bungee] Added a option in settings.yml at "Options.Bungee.Join-Next-Available-Game" (false by default)
    • Can be enabled to run more than a game Instance per server.
    • You can now have multiple game instances on a Bungee server, the join system will search for a available game.
  • Minor fixes.
  • Updated dependencies.
The Bungee system is still in BETA on from Splegg and SpeedRun, please test it out in your conditions.

I had this update ready to go, feature updatessystem should be coming soon.
----------, Apr 24, 2020

  • Fixed unbreakable items for 1.12.
  • Fixed unbreakable option not working for kits.
  • Attempt to fix some rare damage errors.
  • Fixed some compatibility problems between 1.8-1.12-1.15.
  • Removed unnecessary plugin checks.

Planning to drop 1.8 support, if you are using 1.8 please let me know in Discussion so we can work on something.
----------, Apr 8, 2020

  • Fixed 1.12 compatibility problems.

No updated needed if you aren't running on 1.12.
----------, Apr 8, 2020

  • Fixed a bug where you can damage your teammates.
    • Applied Scoreboard rules to fix this, it was a problem in very specific plugin and server settings.
  • Fixed a bug in the API where events are not being called correctly.
  • Fixed game looping from 00:00 to 59:59
  • /wizards reload should now update things from the files to the server and not reset the files.
  • Internal changes to improve stability.
----------, Apr 4, 2020

  • Fixed block effects not working correctly in 1.13+.
  • Fixed glass color not changing in 1.13+.
  • You can now modify the double-jump velocity.
    • At Options.Game.Double-Jump-Cooldown and
      Options.Game.Double-Jump-Multiplier.
  • You can now set a cooldown to the double-jump.
    • At Options.Game.Double-Jump-Cooldown, 500 = 0.5s, 1000 = 1s...
  • Added 'Indicators'
    • They are similiar to a game from a famous server, it places 4 wools around the objective.
    • You don't need to modify the map to add the wools, the game will do that.
    • This is disabled by default, check Options.Game.Enable-Game-Point-Indicators
    • [​IMG]
      [*] [​IMG]
----------, Mar 29, 2020

  • Fixed support for some blocks in 1.13+.
  • Fixed some materials not being transformed from legacy values.
  • Fixed plugin trying to run a task before shutdown.
  • Had to shade some dependencies for 1.9+.
    • I have no idea how the plugin was running without these dependencies, there's literally no explanation!
  • Added individual commands for some menus, you should be in game lobby to use this commands.
    • /wizards menu shop
    • /wizards menu teams
----------, Mar 21, 2020

  • Added a option to enable offline-mode support.
    • This option will replace UUID to player name in data loading, should fix data not loading when server is on offline-mode.
    • I don't really like the idea of not running UUID, you can still let cracked players join the server without dropping UUIDs but this option still has its use.
----------, Mar 20, 2020

  • Updated dependencies.
  • Change to LEGACY version.
  • Fixed wool colors not working on versions below 1.13.
----------, Mar 1, 2020

Uploaded the wrong version last update, this one also contains task changes and settings tweaks.

  • Attempt to fix 1.8 problems, if you are using 1.8 and find a issue please report it.
----------, Feb 27, 2020

  • Small 1.8 fixes.
----------, Feb 26, 2020

  • Fixed small problems in 1.8.
----------, Feb 18, 2020

  • Fixed a bug where game is not ending after time reaches 0.
----------, Feb 6, 2020

  • Fixed game not ending correctly.
  • Fixed kill points not working.
----------, Feb 2, 2020

  • Fixed a bug where game is loading after the start.
  • Fixed a spawn and respawn bug when using single spawn system.
  • Simplified the multiple spawns command to '/wizards addSpawn <arena> <team>'.
----------, Jan 25, 2020

New
  • Added in-game kit editor.
    • /wizards kit edit <kit> or /wizards kit export <kit>.
      • The edit command will open a inventory so you can see the kit items and change each piece, you will receive a message to confirm the changes after closing the inventory.
      • The export command will drag everything from your inventory to the kit.
    • A backup of the kit file will be created before appying the changes.
  • Added potion-effects to kit and classes
    • POTION_EFECT : DURATION : LEVEL
    • Just add "potion-effect" as a list to the class file/kit.
    • Code (Text):
        test:
          needs-permission: false
          permission: kits.test
          price: 1000
          display-item: 'DIAMOND_SWORD : 1 : name:§6test'
          boots: 'GOLDEN_BOOTS : 1'
          chestplate: 'DIAMOND_CHESTPLATE : 1'
          leggings: 'DIAMOND_LEGGINGS : 1'
          helmet: 'DIAMOND_HELMET : 1'
          items:
          - 'DIAMOND_SWORD : 1'
          lore:
          - §cNo lore set for this kit.
          slot: 4
          potion-effects:
          - 'REGENERATION : 9999 : 1'
  • Added a option to make items unbreakable.
    • At Options.Game.Unbreakable-Items and
      Options.Game.Unbreakable-Armor
  • Added support for potion-effect as items.
    • (1.9+) - 'POTION:EFFECT:extended:upgraded : amount'
    • (1.8) If you are running on below 1.9 just use
      Code (Text):
      POTION:DURABILITY
Changes
  • Changed how plugin handles items.
    • Please do not use IDs anymore, it will not work correctly, all files are using item names by default so try to keep everything like that.
  • /wizards kits reload command will not restore the kit files anymore, it will import the changes to the server.
    • Now you can modify the kits and use the save command to apply the changes.
  • Changed the way Wizards loads NMS versions.
Bugfixes
  • Fixed a bug where leather armor without paiting is not working correctly.
  • Fixed multiple lines lore not being displayed correctly.
    • Use "lore:lline1 : lore:line2 ....."
  • Fixed a bug where classes are being loaded when kits are enabled.
  • Fixed a small typo in kits file.
----------, Jan 14, 2020

  • Attempt to fix other plugins taking priority over Wizard's respawn.
    • Changed how respawn is handled, should set a death point and force the teleport after respawn event (not game respawn) is called.
----------, Dec 21, 2019

  • You can now disable all game objectives.
    • This will allow you to create TDM games.
    • No option needed, just don't set them.
  • You can now have multiple spawns/respawns.
    • /wizards addSpawn <arena> <team>
    • You can still use a global TEAM spawn with /wizards setLocation <arena> {team}_spawn.
  • Changed how game handles respawns.
  • Minor 1.14.4 bugfixes.

I'm planning a better version of a TDM gamemode with a proper scoreboard and objectives, but for now that should be enough.

I'd recommend you to test this version! Some server versions just break things.

If this version is not working correctly for you try using 1.9.8.1 and contact me ASAP.
----------, Nov 29, 2019

  • Fixed a database problem that can happen when starting and closing connection.
  • [General Performance] Increased auto-sign-update task delay.
  • [1.14] Fixed some particles not showing on boosters.

If you are using SQL or MySQL please consider updating.
----------, Nov 19, 2019

  • Updated dependencies.
  • Fixed some tasks not being cancelled.
  • Fixed bugs with mounts for 1.14.4 users.

Not a big update, so read:

I'm planning a class update (for adding new classes and trying to make possible for you to make your own class). I'm trying to make it possible without having to rework the system since we are using Enumerations and we can't modify enums at runtime.

It still require some polish so for for now just some fixes to problems that I found while working on this update that can cause performance problems.

Also I'd love to see class suggestions, I have some plans but they're pretty generic so...
----------, Oct 8, 2019

  • Added an option to toggle FeatherBoard.
    • Options.Toggle-FeatherBoard
    • It will toggle off FeatherBoard when you join a game and toggle back on after the game.
  • Added an option to enable a "being captured" sound notificaton.
    • You cannot change this sound, but you can disable it.
    • at Options.Use-Being-Captured-Sound.
  • Visual changes when points are being captured.
  • Fixed a bug where game task doesn't finish correctly when there is no winner.
  • Fixed minor code fragments.
----------, Aug 16, 2019

  • Temporary fix to loading issues.
  • Fixed a bug where fall damage would remove your mount.
  • Fixed a bug where mount countdown will not work when your mount takes damage.
  • Fixed a bug where enderman's Recall would glitch the mount.
  • Fixed some other minor issues.
----------, Aug 7, 2019

  • Fixed portals not loading correctly when game starts.
----------, Jul 30, 2019

  • Added 1.14.4 checks.
  • Added more feedback to some commands.
  • Fixed a bug where portals are not being loaded when editing the arena.
----------, Jul 29, 2019

  • Added CoinsAPI support as requested.
    • You need to enable it at options.yml.
  • Small internal changes.

New classes coming soon.
----------, Jul 11, 2019

  • Fixed small problems with materials in 1.8.
----------, Jun 23, 2019

Kit Command System

  • Added /wizard kits command.
    • /wizards kits create <name> (price) (needsPerm) (perm) (display-item)
      • () are for optional arguments, it has default values: 1000, false, kits.{name}, random item with kit's name.
      • I'd recommend you to manully modify your kit in kits file then using kits reload command.
    • /wizards kits delete <name>
      • Deletes a kit from kits.yml.
    • /wizards kits reload
      • Reloads all kits.
This system will just make creating kits more easier, still recommend you to edit the kits file afterwards.

General

  • Added 1.14.2 support.
  • Added a option to toggle Inventory Protection (if disabled players can move their stuff on inventory)
  • Respawn Delay will now be enabled with kits, you will need to disable in settings if you don't want to use it.
    • Options.Game.Respawn-Delay.
  • Fixed 1.13-1.14.2 problems with Material Data.
  • Fixed a bug where block data is not being detected.
  • Fixed a issue with kits lore.
  • Fixed a bug where player stops earning mana after some games.
  • Fixed some permissions.

Some important things to note in this update:
  • When a spell hits without any explosion - This is NOT a problem, it's meant to be this way, that's how the travel and hit detection systems works.
  • Items in kits.yml will stack.
  • Explosions causing... client-side lag (FPS Drops) - This is a minecrft-side problem, disable falling blocks or explosions in config to fix.
Please report bugs via PM or in Discussion.

Sorry for the double update, forgot to fix some permissions.
----------, Jun 10, 2019

Kit Command System
  • Added /wizard kits command.
    • /wizards kits create <name> (price) (needsPerm) (perm) (display-item)
      • () are for optional arguments, it has default values: 1000, false, kits.{name}, random item with kit's name.
      • I'd recommend you to manully modify your kit in kits file then using kits reload command.
    • /wizards kits delete <name>
      • Deletes a kit from kits.yml.
    • /wizards kits reload
      • Reloads all kits.
This system will just make creating kits more easier, still recommend you to edit the kits file afterwards.

General
  • Added 1.14.2 support.
  • Added a option to toggle Inventory Protection (if disabled players can move their stuff on inventory)
  • Respawn Delay will now be enabled with kits, you will need to disable in settings if you don't want to use it.
    • Options.Game.Respawn-Delay.
  • Fixed 1.13-1.14.2 problems with Material Data.
  • Fixed a bug where block data is not being detected.
  • Fixed a issue with kits lore.
  • Fixed a bug where player stops earning mana after some games.

Some important things to note in this update:
  • When a spell hits but don't cause any explosion - This is NOT a problem, it's meant to be this way, that's how the travel and hit detection systems works.
  • Items in kits.yml will stack.
  • Explosions causing... client-side lag (FPS Drops) - This is a minecrft-side problem, disable falling blocks or explosions in config to fix.
Please report bugs via PM or in Discussion.
----------, Jun 10, 2019

  • Added support for PlaceholderAPI. Please let me know if you would like to see more placeholders here. Available placeholders for now:
    • %wizards_wins%
    • %wizards_deaths%
    • %wizards_losses%
    • %wizards_gamesplayed%
    • %wizards_kills%
    • %wizards_assists%
    • %wizards_damagecaused%
    • %wizards_healingdone%
  • Added %damage_blocked% placeholder for the stats command.
Keep in mind that PlaceholderAPI's placeholders starts with %wizards% and Wizard's plceholders don't have a identifier.

This was a requested feature.
----------, May 28, 2019

New Class: Crusader

[​IMG]
  • Crusader is a tank class.
  • Your skill creates a temporary shield for you and to nearby teammates.
    • This shield recudes all damage received by 35%.
    • You can modify the shield duration and damage reduction values in Crusader's config file.
    • Creates a impact when activated causing damage on nearby enemies.
    • You will not receive mana until the shield expires.
    • You can set a cooldown to this ability.
      • Set it to 0 to disable.
Code (Text):
#
#For a complete tutorial see pyromancer.yml.
#
#You can disable class countdown by setting it to 0.
#
# !!! IMPORTANT !!!
#shield-duration-in-ticks: 70 --> This value is in ticks, not seconds (1 second = 20 ticks, 70 ticks = 3.5 seconds)
#damage-area: 5.0 --> This will not have impact in "shield-impact-area", shield-impact-area value is for allies.
#
display-name: 'Crusader'
description:
- '&9Crusader'
- ' '
- '&7Creates a temporarily shield'
- '&7that reduces all damage received by 35%.'
- ' '
- '&7Causes damage to nearby enemies.'
price: 3200
mana-cost-per-use: 100
mana-per-hit: 1
max-distance: 80
damage: 2.5
damage-area: 5.0
explosion-radius: 3
shield-protection-percentage: 35
shield-duration-in-ticks: 70
shield-impact-area: 8
ability-countdown: 15
enable-all-particles: true
weapon: 'STONE_AXE : 1 : name:&bShield'
helmet: 'IRON_HELMET : 1'
chestplate: 'DIAMOND_CHESTPLATE : 1'
leggings: 'IRON_LEGGINGS : 1'
boots: 'IRON_BOOTS : 1'
scripts: []
target-scripts: []
ally-scripts: []
I'd recommend you to balance this class yourself and not use the default values.

This class has some crazy particles, if your server is not supporting the amount of effects you can reduce crusader particles in "
enable-all-particles" path in config, this will not remove all particles but will disable some effects like the spherical shield.

shop.yml does not have a automtic update system yet, so make a backup of your shop.yml and delete to generate a new one with the new class.

General
  • More stable for 1.14, but still not recommended due software problems.
  • Added /wizards creload command
    • Will reload all classes files, you can now modify a value then use this command to apply the changes.
    • Aliases: reloadclasses, rc.
    • This command reloads all events, so it cannot be used if there is a game running.
  • Fixed a bug where a error is thrown when there are no portals in a game with portal system enabled.
  • Fixed a bug where Enderman's recall ability cooldown is being registered in all classes.
  • Fixed a bug where mana earning cannot be toggled off.
Script Changes
  • Changed how script is summoned.
  • Added parameter "gameplayer" for target scripts. It refers to the "player", not the "target".
  • Added parameter "gametarget" for target scripts. It refers to the "target", not the "player".
  • Added a new type of script: "ally-script"
    • It will be used in some cases, not available in all classes.
    • Will be summoned whenever an ally is impacted with any effect, e.g: shields and healing.
    • the target parameter for this script is "gameally".
GamePlayer (gameplayer, gametarget and gameally) refers to Wizard's player class, you can modify in-game and database data with this class.
----------, May 9, 2019

  • Added 1.14 support.
    • Replaced some resources to work from 1.8 up to 1.14.
    • Warning: World loading in 1.14 can be slow, this will have impact in arena loading but should not impact server performance.
  • Added java 9/10 support.
    • Not recommended due Reflection performance.
  • Moved project structure for easier updates.
  • Fixed a issue causing world to load, unload then load again when a game is created.
  • Fixed a bug where world is not deleted from main folder after stopping the server.
  • Fixed a bug causing error when creating an arena.
  • Fixed a bug where creating signs is not working on 1.13.
  • Improvements to enderman's recall ability.

This version is a SNAPSHOT, please report any bugs at discussion or Private Message.
----------, May 4, 2019

  • Fixed a bug preventing players from getting the mount item on respawn.
----------, Apr 28, 2019

  • Added mounts.
    • Gives you a item at start, right click on it to spawn a horse.
    • Horses will not receive damage, however he will despawn if the passenger receives any damage.
    • Horse will despawn when you press shift.
    • You can modify the horse varient, speed and jump.
    • Has a cooldown to use, you can modify it.
      • Cooldown will trigger after you dismount the horse.
    • This feature is disabled by default.
  • You can now translate the name of all TimeUnits.
Important
  • [!] Fixed a bug where events are not being registered on 1.8 versions.
  • [!] Disabled Portal loading in 1.8 since this version doesn't have Elytra.
If you are using 1.8 please make sure you are using the latest 1.8 build.

Also, updated plugin page if you are looking for anything else.
----------, Apr 7, 2019

  • Added an option to modify the amount of particles of a Portal.
    • You can just add "particleAmount" to the portal file for each portal. Default is 5.
    • [​IMG]
  • Made small tweaks to prevent some errors from happening.
  • Fixed ending checker by time.
----------, Mar 28, 2019

  • Added portal boosters mechanic for Elytra.
    • Can be created via /wizard portals.
    • Will give you a velocity boost when using Elytra.
    • Each portal can have different particle, velocity and more.
    • Portals are saved in arena folder.
      • They are not saved in arena file due dynamic access, arena file should not be constantly accessed.
      • Each portal will have a different name in arena file so you can indentify them.
      • Portals will only load after game starts to prevent task and performance problems.
  • Minor bugfixes.

This was a requested feature, you can now have arenas on sky!
[​IMG]
----------, Mar 25, 2019

  • Fixed a bug causing blocks to not explode.
  • Fixed explosion problems when running WorldGuard.
----------, Mar 18, 2019

  • Fixed console error when a player kill himself with /kill or similar commands
  • Fixed a error when signs tries to update.
----------, Mar 9, 2019

This update is for internal changes and code cleanup.

  • Fixed a bug where you get an error when interact with class item while using kits.
  • Some adjustments to anti draw system.
  • Internal bugfixes.
----------, Mar 2, 2019

  • Fixed minor reported bugs.
  • Improvements on kit system.
----------, Feb 6, 2019

  • Fixed players being able to connect on the server before arena loads on BungeeCord.
This update is for Bungee users only.
----------, Jan 12, 2019

  • Fixed a bug where new objectives can be destroyed.
  • Fixed respawn not working with new options.
  • Some changes to enderman enderman on pre-game state.
  • Fixed armor not unbreakable.
----------, Jan 9, 2019

This is big update. There are changes for shop.yml so create a backup and delete it to generate a new one.

You don't need to delete all files! Only shop.yml.

Config & System Changes
  • You can now use the placeholder %prefix% for all chat messages.
  • You can now use the placeholder %team% on team join message.
  • You can now modify the speed and jump level.
  • You can now disable Speed and Jump effects.
  • You can now disable a specific slot on Team Armor.
  • When running on BungeeCord some arguments can now be used as a command.
    • /wizards start to /start for example.
      • You still be able to use /wizards start
    • Supported commands: /start, /pause (/wizards stop), /stats, /leave (teleports you to the server set in options file).
New
  • Added 4 more objectives.
    • From now you don't need to use all objectives, you can use only 1 or all 7 objectives.
    • Make sure to edit objective names if you don't like them!
    • [​IMG] [​IMG]
  • Added locked-class item.
    • If you don't have the class you don't be able to see its icon, but you can still read the class name & lore.
    • This option is at options.yml.
Bugfixes / Internal Changes
  • [Internal changes] Some important changes to make easier to add new classes.
  • Fixed a bug where your class is not correct loaded when you join a game.
New Class
Classes were not the focus of this update, but this one was ready to go since 1.3.
Enderman
  • Enderman has, by default, low damage.
  • Enderman has 2 abilities.
    • Your spell is a purple fast-travel spell that explodes and causes negative effects to enemies.
      • Confusion X (3s) and Blindness X (1s)
        • You can modify those values.
    • Your 2 ability is called when you press shift, it's a RECALL ability.
      • This ability has a cooldown to use, you can modify it on enderman.yml.
      • Recall will teleport the location you were 3 seconds before using it, recovering health, mana and the location you were.
      • You can disable this ability if you don't want to use it.
More new classes with different effects and abilities should be coming in the future for a Class Update.

Thank you all for the suggestions and reports.

If you find any bug or a thing that you would like to see let me know on plugin Discussion or via Private Message.
----------, Jan 9, 2019

Quick follow up to 1.4.4 to fix potions not being removed.
----------, Jan 5, 2019

  • Major changes to Inventory-Saving
    • Added a option to disable Inventory-Saving in order to fix Multi inventory plugins incompatibility.
    • Inventory will no longer be stored in files as this new system works on my other plugins.
  • Fixed some team selecting bugs.
    • Players will be automatically placed on the smallest team.
    • Added a option to change max players per team.
    • Added a option to change max players for team balancing (default changed from 1 to 2)
      • This means that RED can have the max of 2 more players than BLUE and vice versa.
    • Inventory will close after choosing a team.
  • Fixed a bug where team selector menu is showing wrong color.
  • The default min. players amount was changed to 8.
  • The default max. players amount was changed to 12
  • Fixed some internal issues.
Class Changes, Balances & Bugfixes
  • Wither class projectile speed decreased from 8 to 6.5.
  • Particle travel speed decreased from 1m per tick to 0.5m per tick.
    • A bit slower but should help on hit detection for areas without block levels.
    • You can modify in options, there is a Options.Game.Particle-Travel-Speed setting. Default is 0.5.
A feature update is planned for v1.5, until there updates are only for bug fixes.
----------, Jan 5, 2019

  • Fixed a bug where game still sending Mana messages when Classes are disabled.
  • Fixed a bug where game still running when there are no players on one team.
  • Fixed some incorrect messages.
----------, Jan 3, 2019

  • Fixed a bug with potion particles.
  • Fixed a bug with auto-start system, game not starting automatically.
  • Fixed help command. (/wizards, /wizards help)
  • BungeeCord changes
    • Players with the setup permission (wizards.setup) will be able to join on servers without any games.
    • Added a option to join a server without any games.
----------, Jan 2, 2019

  • Fixed Leaderboard Manager not auto-updating data correctly.
----------, Dec 29, 2018

General Changes
  • Added splash potions.
    • Players will receive healing potion every 3.5 seconds with a max of 3 potions, you can of course edit these values.
    • You can modify the healing and splash area.
    • Potions can also heal your teammates.
  • Added a new option to disable Wizards damage system.
    • This can be useful if Wizards if causing false positives on AntiCheats.
  • Added WizardHelper class.
    • You can now invoke new methods on scripts from this class.
    • Use "wizard"
      • "wizard.explode(target);"
      • "wizard.damage(target, amount);"
      • "wizard.heal(target, amount);"
  • Added "item-damage" option in config, so all items are now just visual.
    • Remember that 1 damage = 0.5 hearts.
    • Items are Axe, Swords, Shovels and Hoes.
  • You can also use "item-damage-max" and "item-damage-min" to cause random damage, just set "item-damage" to 0.
  • All items are now unbreakable.
  • Wizards will now delete WorldGuard files.
Bugfixes
  • Fixed some respawn problems.
  • Fixed a bug where signs are not updated correctly.
  • Fixed a bug where world is not saving after pasting or modifying it.
  • Fixed a bug where world folders aren't getting deleted on server shutdown.
  • Fixed some issues when not running Holographic Displays.
  • Fixed ChunkData not being generated in 1.13, causing errors when trying to edit the map.

New Class: Fighter

[​IMG]
  • Fighter has a melee ability.
  • Fighter has a single-target ability.
  • Your next hit after using your ability will create a super punch.
  • The punch will do a certain amount of extra damage.
  • If the target collides with a wall he will receive take more damage and create a explosion.
  • Fighter has a sword but remeber that weapon's damage are changed so it's just visual.
Warning: You will have to delete your shop.yml to generate a new one.
----------, Dec 12, 2018

  • Fixed Particle support for 1.8.
    • Particle viewer range has also increased for this version.
  • Added a new command blocking system.
    • Don't forget to add wizards to the whitelisted commands in options file.
----------, Dec 1, 2018

General Changes
  • Now supports 1.13.
    • Friendly reminder to change all IDs to Material names in all config files in case you are going to 1.13.
      • options, shop and all classes and kits.
    • By default all these values are now set to material name and not IDs anymore.
  • Improvement on plugin background tasks to increase general performance.
  • You can now modify offline player coins.
  • Default score to win reduced to 3000.
  • Changed how coins distribution works.
  • Removed display-item from classes file.
New
  • Added special settings to Aquamancer:
    • healing-per-impact: 4.0 -> Will heal 4.0 (2❤) when the skill hits a teammate.
    • healing-per-splasg: 2.0 -> Will heal 2.0 (1❤) for every teammate close to the skill splash.
  • Added a command to modify config in-game.
  • Added option to disable falling blocks (see below).
  • Added option to disable fireworks.
Bugfixes
  • Fixed a bug where stop command sometimes fail and freezes the game arena.
  • Fixed arena not shutting down correctly after server shutdown.
  • Fixed player data not saving correctly after server shutdown.
  • Fixed particle limit issues.
  • Fixed firework damaging players.
  • Fixed a bug causing aquamancer to crash while loading.
  • Fixed a bug where sometimes you cannot select a team.
  • Fixed a bug preventing plugin from loading without Holographic Displays.
  • Fixed a bug where world loader is not allowing PVP causing melee to not work.
(1.13x) Client-side performance note
Wizards works with many particles & effects, due client-side performance problems I've set a limit to some particles and explosions to prevent FPS drops in 1.13x.

However this not fixes fps drops that can happen while spawning Falling blocks that is used on some explosions, there is a new option (Options.Game.Spawn-Falling-Blocks) so you can disable Falling Blocks from spawning in case you or your players are having FPS problems.

1.13.x may run smoother but it has so many problems with particles even in a sigleplayer world, also added a option to disable firework explosions.

What's next? (WIP)
After finally having 1.13 support and getting out of IDs a lot of things are on the way.
  • 3 New classes are already ready to be implemented.
  • Stats in Scoreboard.
  • Respawn priority system.
  • New game modes (FFA and CTF are on the list)
  • You can see in options file that there's some things that was never used, everything was planned for after 1.13.

Sorry for the delayed update, this plugin had a lot of things to rewrite for 1.13 and I was waiting some feedback from Splegg and SpeedRun users to confirm that my 1.8-1.13 methods are working fine.

Overall 1.13 support is done, if you find any issues while running in any version please send me a PM or go to Discussion.
----------, Nov 4, 2018

  • Improvements on class interact system and respawning.
  • Minor bug fixes.
----------, Aug 13, 2018

NEW
  • Added a new class "Mage".
    • Fires a spell that will follow the nearby players or player in your line of sight.
      • Can be cancelled by hitting solid blocks.
      • Has a travel-time and limit.
      • Will not follow to left or right instantly, the effect's curve is diagonal.
[​IMG]
Bugfixes
  • Fixed a bug on Interact causing errors.
  • Fixed a bug not allowing plugin to start correctly when not using Classes.
  • Fixed whiter effect from Wither class.
  • Fixed a bug causing an error on moving due date not fully loaded.
Changes
  • Changed the way particles is shown.
    • Within 400 blocks, you can modify this value in options file.
  • You can send a message when player is out of mana, leave it empty to not send anything.
  • You can play a sound when player is out of mana, leave it empty to not play anything.

Warning: You will have to delete your shop.yml to generate a new one.
----------, Jul 13, 2018

Bugfixes
  • Fixed a bug where players are not being teleported at game start.
  • Fixed a bug allowing spectators do cause damage.
  • Fixed a bug preventing you from getting a kill without meele damage.
  • Fixed a bug where kill assists will get a console error.
  • Fixed typos on kill messages.
  • Fixed map loading on peaceful difficulty.
  • Fixed game sign not updating.
  • Fixed player tags showing on spectator mode.
  • Fixed player not going fully invisible from server while spectating.
Improvements
  • Data-Update will disable if you are using BungeeCord.
  • Game system tweaks.
  • Added message to kills without killer.
----------, Jul 9, 2018

  • Fixed a bug with Inventory.
  • Fixed Damage & Healing Leaderboard.
  • Fixed some UTF-8 bugs.
----------, Jul 8, 2018

Resource Information
Author:
----------
Total Downloads: 135
First Release: Jul 7, 2018
Last Update: Dec 16, 2024
Category: ---------------
All-Time Rating:
20 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings