EnemyWands is a plugin that gives certain mobs a chance to drop a wand, which grants the use of their ability. For example, Blaze wand gives you the ability to launch a fireball just as the Blaze do.
I created this for my friends and was happy with how it turned out so here I am. Hopefully you
enjoy it as much as I do. <3
- Please report bugs/issues via discussions. Do not post issues in reviews, as I don't get notified and will not see them.
* Recommended for use with Spigot or Paper servers. Some display stuff wont work in Bukkit.
** This plugin was originally created during 1.14, some versions may still work in 1.14+ up to 1.18.x. I'm unsure which ones.
Features:
- EnemyWands currently has 7 wands.
- Blaze Wand, fires a small fireball. (Original Release)
- Ghast Wand, fires a larger explosive fireball. (Original Release)
- Fangs Wand, casts the Evoker's Fangs spell. (Original Release)
- Shulker Wand, fires a Shulker bullet. (Original Release)
- Llama Wand, throws Llama spit. (Added in v1.1.1)
- Wither Wand, fires a Wither skull. (Added in v2.1.0)
- Warden Wand, simulates the Warden's Sonic Boom. (Added in v2.2.0)
- Drop Rates are individually configurable.
- Drop Rates are in the form of a fraction. Such as '1/X', where X is the number you choose in the config.yml.
- All set to 100 by default, which is 1/100 chance, or 1% chance of dropping.
- Divide 1 by your chosen number (X), then multiply it that by 100 to get your percentage.
- Ex: 2000 is 0.05%, 50 is 2%, 25 is 4%, 10 is 10%, 2 is 50% and 1 is 100% drop rate.
- Setting DropRates to 0 disables the drop for that wand.
- Casting has a configurable cooldown.
- New to Version 2.0.0+
- Casting can now be set to use charges.
- Global configuration for choice of material.
- Individual per wand configuration for amount needed to cast.
- Cooldown code has been re-worked and is now better than previous versions.
- Cooldowns may now also be turned off globally.
- New to version 3.0.0+
- Language Functionality.
- Make your language changes via lang.yml
- '/enemywands reload' will now also reload language file changes.
Permissions:
If you wish to allow someone to use the wands, you must give them permission.
- LuckPerms example:
- '/lp group default permission set enemywands.use.blaze true'
- enemywands.reload
- Default to OP. Allows use of '/[enemywands, ews] reload'. (reloads the config and language changes to the server)
- enemywands.charges
- Default to OP. Allows use of '/[enemywands, ews] charges'. (allows player to check how many charges are needed for the wand in their hand if set up to use charges)
- enemywands.use.*
- Default to OP. Bypasses individual Permissions bellow.
- enemywands.use.[blaze, ghast, fangs, shulker, llama, wither, warden]
- Default to OP. Allows use of individual wands.
- enemywands.drop
- Default to OP. Allows use of '/[enemywands, ews] drop [blaze, ghast, fangs, shulker, llama, wither, warden]'
Commands:
- /[enemywands, ews] reload
- reloads the changes made in the config.yml and lang.yml to the server.
- /[enemywands, ews] charges
- returns the amount of charges needed to cast if setup to use charges. Configurable material and amounts.
- /[enemywands, ews] drop [blaze, ghast, fangs, shulker, llama, wither, warden]
- gives a player a rod of that type.
Extras:
Currently working on:
(doesn't mean I'll be successful any time soon or ever)
- Adding Configurable Particles for casting.
To Do List:
(doesn't mean these will ever become part of the plugin)
- Look into allowing use of custom materials for charges.
- Look into having durability for the wands.
Known Bugs/Issues:
- Spamming wands during cooldown can brick the timer.
- In the mean time, relogging resets the timer.
__________________________________________________________
Note Worthy:
- I'm new to the programing language, so I probably won't be able to add things not currently in vanilla.
- ex: Mana for consumption.
- Feel free to report any issues or give suggestions though. I am self-taught and do this in my free time.
- Are you a programmer and have more experience in java than I do, and want to collab? I'd be happy to! Shoot me a PM and let's make things happen! (though, I may drag you down xD)
- I have another project currently in the works that I am excited about and am trying to get working properly. Stay tuned!