Thanks a lot to @MarcosMgpixels for making this video!








This plugin allows players to increase affect their stats based on the lore of their items. All lore also applies to mobs - so you challenge your players by giving mobs better stats!


Lore Stats
Currently lore can be applied to: attack damage, health, health regeneration, dodge chance, critical chance, critical damage, life steal, armor, smite, bane, defense (absorption), unbreakable, (protection / soulbound soon!), xp-based restrictions, and even a restriction of items based on permissions!
Race-based restrictions, and lores can now even give players certain potion-effects!

These item categories accept the following attributes:

Weapons: Damage, Critical Chance, Critical Damage, Life Steal, Bane, Smite
Armor: Health, Regeneration, Armor, Defense (Absorption)
All: Dodge (Evasion), Unbreakable, Durability




Configuration File (config.yml):
# ----------------------------------- #
#   LoreAttributesRecoded // Thana    #
# ----------------------------------- #

offhand-attributes-enabled: true # enable offhand attributes?

gems:
  enable-drag-drop: true # can players socket through the inventory?
  slot: '&3< &aFree Gem Slot &3>'
  socketed: '&3« &d&lSocketed: &a%gem% &3»'
  plain: '&3« &d&lSocketed: &a &3»'
  prefix: '« Socketed: '
  suffix: ' »'
  keyword: Socketed
  material: EMERALD
  unsocket-message: '&c» &7Which slot''s gem would you like to destroy? &o(Max %gems_max%)'
  unsocket-success: '&c» &7Gem destroyed.'
  unsocket-invalid-number: '&4&c» &7Unsocketing cancelled, max slots was %gems_max%'
  unsocket-cancel: '&c» &7Unsocketing cancelled'

unsocket-item:
  display-name: '&6Unsocket Token'
  material: LEGACY_BLAZE_POWDER
  durability: 0
  lore:
  - '&eUse this in an anvil to unsocket a gem'
  - '&4WARNING: &cThe gem will be destroyed!'
  item-flags:
  - HIDE_ATTRIBUTES

lore:
  durability:
    keyword: durability
  health:
    enabled: true # may LAR modify health?
    base-health: 20 # base health for all players
    keyword: Health
  regen:
    keyword: Regen
  damage:
    keyword: Damage
  dodge:
    sound: ITEM_ARMOR_EQUIP_NETHERITE
    keyword: Evasion
  critical-chance:
    keyword: Critical Chance
  critical-damage:
    sound: ITEM_ARMOR_EQUIP_NETHERITE
    keyword: Critical Damage
  life-steal:
    keyword: Life Steal
  armor:
    keyword: Armor
  restriction:
    keyword: type
    display-message: false
    message: You can't use the %itemname%
  smite:
    keyword: Smite
  bane:
    keyword: Bane
  defense:
    keyword: Absorption
  unbreakable:
    keyword: unbreakable


All sounds can be found here.




<> = mandatory arguments || [] = optional arguments


Aliases: [loreattributesrecoded, lar, la]



  Permissions




Damage
Damage boosting can be applied to items in one of two ways - a random range, or a fixed increase.

"+5 Damage" on an item will increase damage dealt by 5 "2-6 Damage" on an item will set the player's damage to be a minimum of 2, maximum of 6.

Damage looks at the sum of all items equipped, and the item in the player's hand. Every range applied to an item is summed together, and then boosts are applied afterwards.

Health
Max health can be increased by fixed values and can be applied to any item the player has equipped.

+50 Health
This will increase the player's health by 50. This action just sets the max health, not current health. If the player removes boosting armor and would have more health than their new max, their health will be lowered to their new max.

❗ This does NOT work with SkillAPI yet!

Regeneration
Health regeneration can be increased by fixed values and can be applied to any item the player has equipped.

+50 Regen will increase their regeneration by 50.
Regeneration boosts are applied when health would naturally be regenerated (the player is satiated / has a high food bar).

Dodge
A player can gain a % chance to dodge damage taken from another entity. The dodge attribute can be applied to any equipment the player is wearing, and the item in the player's hand.

Example: +5% Evasion
This will increase the chance to dodge damage from another living entity (such as monster or another player) by 5% (players start at 0%).

Critical Chance and Critical Damage
On dealing damage to another player or entity, players can be given a chance to have a critical attack - which deals critical damage. Players will need both the critical chance lore and the critical damage lore for crits to be noticable.

Example:
+5% Critical Chance
+10 Critical Damage

Means the player will deal an extra 10 damage on average 5% of the time.

Life Steal
Life steal lore gives players and monsters the ability to heal when they attack. Anyone with the life steal attribute will heal a maximum of their life steal bonus or the damage dealt, whichever is smaller.

Example: +10 Life Steal
Any attacks done by this player will heal the attack damage, up to a maximum of 10.

Bane
When hitting a Spider, Cave Spider, Silverfish or Endermite, the Bane lore will have effect.

Example: +10 Bane
Every time this player attacks 1 of the creatures stated above, it'll apply the Slowness 5 effect to the creature for x* seconds, and deal another y* amount of damage to them.

x = 20 * (1 + level * 0.5)
y = level * 2.5

Smite
When hitting a Skeleton, Zombie, Pig Zombie or Wither, the Smite lore will have effect.

Example: +10 Smite
Every time this player attacks 1 of the creatures stated above, it'll deal an additional x* amount of damage to them.

x = level *2.5

Armor
Armor lore adds defensive traits to the player or monster, and reduces damage done by other entities based on the armor value.

Example: +10 Armor
Any damage this player would have taken from another player or monster will be reduced by 10.

Unbreakable
Makes the item unbreakable (infinite durability) and hides the attributes. Lore will stay there.



In the config.yml, you can assign a material to act as a gem. This is Emerald by default.
gems:
    enable-drag-drop: true
    slot: '&3< &aFree Gem Slot &3>'
    socketed: '&3« &d&lSocketed: &a%gem% &3»'
    plain: '&3« &d&lSocketed: &a &3»'
    prefix: '« Socketed: '
    suffix: ' »'
    keyword: Socketed
    material: EMERALD


enable-drag-drop: If set to true, you'll be able to drag gems onto items with an empty socket, similar to how you'd socket a gem through an anvil.
slot: If an item has exactly this lore, it's equal to 1 gem slot. If an item has this lore 3 times, it holds 3 gem slots, and can be gemmed with 3 gems.
socketed: When socketing a gem, this will be the format used. %gem% is a placeholder for the actual gem itself (e.g.: +3 Health)
plain: Same as socketed but without the %gem%, make sure to leave everything else in there as it is!
prefix: What comes before %gem%
suffix: What comes after %gem%
keyword: If the plugin finds this keyword in an item's lore, it'll register it as socketed
material: The material of your gems. Emerald by default

We first want to create a gem. The names and lores can be as fancy as you'd like.
After creating the item, you want to make sure the gem carries has 1 lore attribute and value in its lore, like so:



To apply this to an item, you'll have to use the anvil for this.
An item cannot be gemmed if it doesn't have a gem slot. A command will do the lore work for you. Simply use /lar gems addslot.



Put the item first (in this case a weapon), and the gem second;



Upon inserting the gem into the second slot, it'll result in this:



In this case, the sword is now socketed with +4 Damage. As easy as that!



Passive effects on items
How this works is very simple:

Give it some lore, make it as fancy as you want, but keep the right format!
Let's say you'd like to add a passive Poison effect to the attacker using the sword, simply add "Passive: Poison" as lore by doing /lore add Passive: Poison (Yes, it supports any color-code!)

As you can see above, I gave it a nice look, and the sword now has a lore saying "Passive: Poison"
Now when the player hits another player with it, it'll have a 10% chance on applying poison to the enemy for 5 seconds! (Will soon all be configurable!)

Current supported potion-effects:
- Slowness
- Weakness
- Mining Fatigue
- Glowing
- Blindness
- Wither
- Poison

Item Restrictions
You can use item restrictions to prevent players from using certain items based on their permissions! Restrictions are checked for players only (so mobs are safe), and are checked: on inventory close, when they try to shoot a bow or damage another entity, and when they craft.

Players trying to equip a restricted armor piece will find the armor moves to their inventory when they close the screen. If their inventory is full it will be dropped at their feet.

Players trying to shoot a bow or deal damage with an item that is restricted will find they deal no damage (though arrows will still be used when trying to shoot a bow).

Players trying to craft using a restricted item will find they're unable to and the items will be reverted. The MineCraft client briefly lets the player think the item has been crafted, but it will change back.

Anytime a player tries to use a restricted item, if enabled the plugin will send them the message from the config. %itemname% will be replaced with the item name that is restricted.

The default permissions to use are "loreattributes." + whatever the restriction is in the lore. The default keyword in the configuration is "type", and the keyword will need to be followed with a colon.

Example:
Type: Thief Player will need the "loreattributes.thief" permission.
Type: Super.Thief Player will need the "loreattributes.super.thief" permission.

How do I change the keywords the plugin is searching for to apply lore attributes?
In the configuration file, under each type of lore there is a "keyword" attribute. The plugin will search for the keyword (with a few other conditions, such as + or % based on the type of lore it is).
Dodge and critical chance require a % sign after the value.

Can I stack multiple lore / have other words in my lore?
Yes, however; the plugin will search the entire lore for the particular strings mentioned above, but will only apply the first of each type.

Example
Chestplate:
    +50 Health
    +2 Armor
    Would apply +50 Health, +2 Armor
Chestplate:
    +50 Health
    +500 Health
Would only apply +50 Health

Permissions
Permissions are used dynamically based on the item restrictions you add to items, as mentioned above. There are no other restrictions in this plugin - anyone that can use the item that has lore will have the lore applied to them.