1.17 & fix for armor switching
Fixed athe null point bug, thanks for reporting it. Removed some debug messages.
Now Supports 1.16
New Set Type: Experience
Set Data:
Code (Text):
type: 'experience'
chance: 1.00
multiplier:
random: true
minimum: 1.8
maximum: 3.2
Description: Multiplies experience for kills by the specified amount.
Unbreakable Flag:
Add this to each armor piece you want to be unbreakable:
Code (Text):
unbreakable: true
Fly And Walk Speed:
Add this part in your basic set data:
Code (Text):
speed:
walk:
set: -1
default: -1
fly:
set: -1
default: -1
Small fix for Color-Way and Fairy set data throwing nullpointerexception (forgot to remove debug code that was spamming console)
Small fix for Color-Way and Fairy set data throwing nullpointerexception
Per piece commands:
- You can now have commands that are run when a player equips or removes a piece of armor.
- If you want to use these add this to each piece in the set-pieces: config section:
Code (Text):
helmet:
commands:
equip:
- example command {player}
remove:
- example command {player}
New set: Color Way
- This is a set design for people who want to be able to make custom patterns for colored leather armor
- To get the default config add color-way to your loaded-sets section in armor+.yml
Engineer set:
- Enigneer set is based off of the set on cosmic pvp, the set data is defined as such:
Code (Text):
2:
type: engineer
chance: 0.04
random-radius: true
radius: 5.3
total-tnt: 5
fuse-delay: 20
drop-delay-ticks: 10
height-above-player: 6.4
damage-per-tnt: 0.4
sound:
enabled: true
type: 'GHAST_SCREAM'
volume: 1
pitch: 0
message:
enabled: true
attacked:
- '&6&l** &oFEEL THE EXPLOSIVE POWERS OF THE ENGINEER &6&l**'
attacker:
- '&6&l** &oENGINEER IS ON YOUR SIDE AND HAS DROPPED TNT ON YOUR ENEMIES &6&l**'
- The special ability will drop tnt on enemies in a configurable radius
Default Placeholder:
- You can now set the default placeholder for the plugin, this was hard coded as 'N/A' but is now configurable.
- Add this to your armor+.yml:
Code (Text):
fallback-placeholder: 'N/A'
Block Heads:
- You can now use blocks as helmet pieces for sets, to make this feature work set the helmet item to the block name (e.g. stone) and add this line to your configuration:
Code (Text):
head-items:
- stone
Engineer set is beta, please let me know if you find any bugs.
Placeholders:
All placeholders are registered with PlaceholderAPI, this is a dependency you will need to install on your server if you'd like to use placeholders.
Basic:
- %armor+_current_name% | returns name of the set that the player is wearing, returns N/A if they aren't wearing a set.
Increase (this works with hand items as well):
- %armor+_current_increase_raw% | returns raw damage increase for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_increase_formatted% | returns formatted damage increase for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_increase_percentage% | returns percentage damage increase for the players set (NOTE: % character is automatically appended), returns Default if it is -1, returns N/A if they aren't wearing a set.
Reduction:
- %armor+_current_reduction_raw% | returns raw damage reduction for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_reduction_formatted% | returns formatted damage reduction for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_reduction_percentage% | returns percentage damage reduction for the players set (NOTE: % character is automatically appended), returns Default if it is -1, returns N/A if they aren't wearing a set.
KB:
- %armor+_current_kb_raw% | returns raw kb modification for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_kb_formatted% | returns formatted kb modification for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
Health:
- %armor+_current_health_raw% | returns raw health modification for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_health_formatted% | returns formatted health modification for the players set, returns Default if it is -1, returns N/A if they aren't wearing a set.
- %armor+_current_health_hearts% | returns the number of hearts the player has with the set equipped (NOTE: a red heart emoji is automatically appended), returns Default if it is -1, returns N/A if they aren't wearing a set.
Custom:
- %armor+_{set-name}_pieces_wearing% | returns the number of pieces a player is wearing from the specified set, returns 0 if none are equipped.
- %armor+_{set-name}_pieces_total% | returns the total number of pieces for the specified set.
Fixes:
- Armor reduction damage works properly now, before the internal call wasnt mapped to the yml entry correctly.
- You can no longer place heads that are part of an armor set if you have armor switch disabled
- Armor sets are no longer loaded 10 seconds after the server has booted, this was causing errors with people joining and getting their active set. The reason this was done was for HDB support, now each piece gets loaded again when the give command is run.
Version Support:
- Tried to add some reflection for sound and item types so that the legacy ones will work in the newer versions, it is basic but should cover most sounds.
Fairy:
- I am giving more control to server owners, you can now alter the amount the color changes, so you can make it cycle much faster. You can also add top-to-bottom-delay which will make the colors cycle from top to bottom, this isnt that smooth however.
- Please add this to add Fairy set data:
Code (Text):
runnable-delay: 0 # delay in ticks that the runnable will run, the higher this is the less lag it will cause
color-jump: 17 # valid values are: 1, 5, 15, 17, 51 (anything that fits into 255 perfectly)
top-to-bottom-delay: -1 # set this to -1 if you want all pieces to be the same color at the same time.
You may now use custom heads for armor sets using HeadDatabase!
- The legacy method of setting the skull owner can still be used
- To add a custom head set the item: to `hdb-<id>`
Should hopefully fix the problem with versions after 1.8 using skull_item.
Fairy Armor:
- You can now create fairy or rainbow armor, this involves having leather armor that is constantly changing color, so it is like a rainbow effect. It looks cool in my opinion!
How to make a fairy set:
- To autogenerate the default fairy set simply added `fairy` to your loaded sets in armor+.yml
Fairy set data:
Really simply just add a new data entry with the type: fairy
Dying leather armor:
You can now have leather armor that is any color, for the piece simply add color: attribute and set it to an RGB color, the syntax is such: <red>:<green>:<blue>, each entry is an integer
Bug Fixes:
- Fixed some bugs to do with Hand items, they will not proc based on if they require the full set or not. When adding a hand set data attribute be sure to add: require-set: attribute, this is a boolean so set it to true or false.
- Fixed bug where all heads would be put onto a players head when they right clicked. This will now only happen with Armor+ pieces. Don't like this feature? Simply disable armor-switch in armor+.yml
- Fixed bug with default config about changing skull_item to legacy_skull_item, this will now be done automatically by the plugin
- Fixed bug where when changing armor pieces (heads) using hotbar, the none head piece would be deleted.
Fixed a bug with the reload command not working, no configuration changes.
Fixed:
- Previously the version checker would read the current version from config.yml, this has been changed to an internal value.
Thanks for the report
@BrettPlayMC
Removed:
- There was a line of code that would print the item type to the console, this has been removed - no other changes
Fixed:
- the knockback system before was really bugging, this has now been changed, to add knockback set the kb:5 for negative knockback set kb:-0.5
Added:
- Removal message for each armor set, this is called when the player removes an armor piece when they are wearing a full custom set
Thanks to
@Ergenta for these reports and requests!
Added:
- Version checker to make sure that you are using the latest version
- Please add this line to your config.yml
Code (Text):
version: 1.3.9
- Please add this to your messages.yml
Code (Text):
outdated-version:
- "&7--= &6&lCarmor&e: &fUpdater &7=--"
- " - &7You are using version &fCarmor v{currentVersion}&7, which is out of date."
- " - &7Please &e&l*UPDATE*&7 to the latest version, &fCarmor v{latestVersion}&7."
Added:
- I added a check for the warp effect, now the plugin will check to make sure that the player is not going to die / suffocate when they warp behind an attacker. If they are going to the warp is cancelled.
Fixed:
- Previously if a player was killed from the lightning strikes of the attack the wearer of the armor would not get the kill. This has been fixed, the damage is registered to come from the wearer.
Added:
- You can now customize more things in regards to the lightning special attack, this includes: the amount of times lightning will strike, the delay between strikes and the actual amount of damage each strike will do.
- This means you can buff the ability as much as you want (inlcuding the actual damage!).
New Syntax:
lightning:<random radius>:<radius>:<number of strikes>:<delay between strikes (in ticks)>:<damage per strike>:<proc chance>
Fixes:
- Fixed an error with the default messages.yml
Feature:
- In this update I added the warp special attack, this will teleport the player being attacked behind their attacker! Please see the main page for the syntax
Added:
- Option to disable players need to pay for armor pieces, add disable-buy: false to your config
- I updated the default armor, messages and armor-gui files, they look nicer in my opinion.
Fixes:
- Sometimes getting a nullpointer from the serverpotioncheckrunnable class, this has been fixed
Fixes:
- Removed a bug where the command wouldn't work, this was due to a mismatch in the command I'd written and the one being registered.
- Removed a debug message in the KB section of damage modifiers.
- Moved the maven repositories for dependencies rather than project directory.
Other Updates:
- I have spent a lot of time making the Wiki professional and helpful.
Fixes:
- Fixed the default gui config, this was causing people to get an internal error message when they were running the /ca command. This is just because of different item names for different versions
- Fixed a bug that would cause console spam, this should hopefully be fixed - please report it if you see it again!
Changes:
I got a request on discord to add a return button, this has been added and appears in all of the individual armor set Guis. I also added an information item that can appear in the Main Gui, this is basically just a customizable item that will sit in the Gui.
Add these lines to your current files
Return Button:
Code (Text):
amor-gui.yml:
# This button will be added to each armor gui, set the slot in the individual set sections.
# If you don't want to button to be in the gui set the slot as the same as an armor piece.
return-button:
name: "&c&lBack"
item: barrier
glowing: false
lore:
- "&7 "
- "&7&oReturn to the main Gui"
- "&7 "
Add this to each armor-set
Code (Text):
return-button-slot: <slot number>
Information Item:
Code (Text):
# This is just an item that you can add to the main gui to provide information about the armor sets
# Set in-gui to false for it to not be rendered.
information-item:
name: "&e&lArmor Set Info"
in-gui: true
item: book_and_quill
glowing: true
slot: 8
lore:
- "&7 "
- "&7&oThese armor sets are ancient relics,"
- "&7&ointially discovered in the mines of PMC,"
- "&7&ono one could've known what they are capable of."
- "&7 "
- "&e&oAbuse and harness their abilites..."
- "&7 "
Changes:
There is no longer the: additional-damage, and reduced-damage options in the armor.yml for each set. This has been replaced by a list of modifiers that can be added to each set, example:
Code (Text):
armor-set-1:
# See the spigot page for all modifiers & syntax
modifiers:
- +dmg:1.25
- health:16
There is now an option in the config.yml called: permission-based-wear. If this is set to true then the player will need to have the permission node: carmor.wear.<armor set number> in order to wear the full set of armor and get the effects
I also fixed up the default armor.yml so that it is a bit more desciptive.
Special Attacks:
- There are currently 2 different special attacks, these can be added to the same armor sets as the attacks stack.
Lightning Attack:
- This will strike nearby enemies with lightning, the lightning strike will not damage the player wearing the armor
- syntax in armor.yml: <attackType>:<if the radius is random>:<radius>:<proc chance>
- example:
Code (Text):
lightning:true:5:0.4
Potion Attack:
- this will give nearby enemies the desired potion effect, you can make this any type of effect
- syntax in armor.yml: <attackType>:<potion effect given>:<level>:<duration in seconds>:<random radius enabled>:<radius>:<proc chance>
- example:
Code (Text):
potion:poison:3:3:true:5:0.3
Messages:
Now a message will be sent to the enemies when they are affected by a special attack
I added the option to add a lightning bonus attack to the armor set:
Code (Text):
# currently there is on the lightning bonus attack, syntax is: <attackType>:<if the radius is random>:<radius>
bonus-attacks:
- lightning:true:5
please add this to each of your armor sets in the armor.yml
Changes:
- Added extensive gui methods
- There is a main gui which will contain icons for each of the armor sets, when the player clicks on one of these they will be taken to the next gui page containing the armor for that set
- Everything about the gui can be customized (name, items, item lore, size etc.), the gui also supports up to 54 armor sets.
- I created new config files, there are no changes to the existing files.
Fixes:
- Changed some methods for code clean-up
Updated Dependencies:
- With the new gui you will now have to have vault running on your server in order to buy the armor sets from the gui
Fixes:
- I added some checks for potion effects to stop the problem where they wouldn't override lower level effects
- I added a check that runs every second (by default), so that if a player had a higher level effect active, the armor set effect will be reapplied to the player
Changes:
- For the check you will need to add this line to your config.yml:
potion-check-delay: 20
thats the delay (in ticks) to do the server check.
- Added the /ca list command, this is just a really quick command to show how many armor sets there are.
Change:
- add this line to each of the armor set configurations:
potion-effects:
- <effect name>:<level>
- or just regenerate the armor.yml
Change:
command syntax, you now must specify the item. Example: /ca give nbdsteve leather_helmet
All configs are the same, just the command that is different
Full recode of the nbdArmor plugin, please regenerate all configs and switch to this version. There are a lot of new features, supporting up to 54 custom armor sets. Equip messages and full customization.