Sueta

Artifacts

1.3

Attribute and ability system for minecraft!

·Plugin


Artifacts is a very lightweight and straightforward plugin perfect for almost every kind of server! Equip artifacts and gain fun advantages! Control over everything!

Features

  • Simple and fluid command system. TabExecutors for everything!
  • Very configurable!
  • Setup default player values!
  • Lightweight!
  • Random Artifact Drops!
  • Create custom artifacts!
  • Drop tables!
  • Equip Artifacts with ease!

Abilities(New!)

  • Ninja - 3 seconds invisibility after sneaking
  • Divine - While shifting players receive a glow effect and gravity is disabled.
  • Spring - jump twice as high
  • Telecast - teleport to thrown eggs

Modifiers

  • max-health - increases maximum health
  • attack-speed - increases attack speed
  • attack-damage - increases attack damage
  • defense - increases armor defense
  • luck - increases loot bonuses (fishing, killing)
  • resistance - increases armor toughness
  • movement-speed - increases movement speed
  • knockback-resistance - increases resistance to knockback

Configuration
There are 4 major configuration files that will be briefly covered and explained here. There are several others, mostly self explanatory.

Main Config

usePercentages means that artifacts as well as the artifact stats display screen will show percentages if possible. The formula takes the base value of a player and finds how much of a bonus an artifact will add and that is simply a visual guide for how much is added.

The generator options are how an artifact will appear when generated. Rarity lores are assigned based upon how many modifiers an artifact has.
Broken being none, epic being 7.

Base stats are how much each player will have without artifacts on and what artifacts add to. The maximum values assigned here are the limit of which a player can achieve using artifacts.

usePercentages: true
generator:
  artifactPrefix: '&8[&6&ko&r&a&lArtifact&6&ko&r&8]'
  maximumModifiers: 7
  format: '%rarityLore% %dropName% %artifactPrefix%'
  rarityLores:
    broken: '&8Broken'
    common: '&7Common'
    uncommon: '&7Uncommon'
    rare: '&9Rare'
    legendary: '&e&ko&r&e&lLEGENDARY&e&ko&r'
    mythical: '&e&ko&r&5&lMYTHICAL&e&ko&r'
    epic: '&e&ko&r&d&lEPIC&e&ko&r'
stats:
  base:
    LUCK: 1.2
    MAX_HEALTH: 20.0
    ATTACK_DAMAGE: 2.0
    ARMOR: 0.0
    ARMOR_TOUGHNESS: 0.0
    ATTACK_SPEED: 4.0
    MOVEMENT_SPEED: 0.2
    KNOCKBACK_RESISTANCE: 0.0
  max:
    LUCK: 10.0
    MAX_HEALTH: 30.0
    ATTACK_DAMAGE: 5.0
    ARMOR: 10.0
    ARMOR_TOUGHNESS: 5.0
    ATTACK_SPEED: 50.0
    MOVEMENT_SPEED: 0.5
    KNOCKBACK_RESISTANCE: 1.0
Entities

Adding drops to entities is a breeze! Simply load up the config, assign your desired drop rate and drop table!

WOLF:
  dropsEnabled: true
  denyDropsFromSpawners: true
  drop:
    dropTable: default
    rarity: 10
Drop tables

Creating drop tables is very simple! Just copy and edit the default template and customize it to your needs. I've included a sample table called "boss" below default for perspective.

default:
  minimumDropCount: 1
  maximumDropCount: 1
  modifiers:
    ARMOR:
      minimumValue: -0.5
      maximumValue: 1.11
    ARMOR_TOUGHNESS:
      minimumValue: -0.25
      maximumValue: 0.56
    ATTACK_DAMAGE:
      minimumValue: -0.25
      maximumValue: 0.56
    ATTACK_SPEED:
      minimumValue: -2.5
      maximumValue: 5.56
    KNOCKBACK_RESISTANCE:
      minimumValue: -0.05
      maximumValue: 0.11
    LUCK:
      minimumValue: -0.5
      maximumValue: 1.11
    MAX_HEALTH:
      minimumValue: -1.5
      maximumValue: 3.33
    MOVEMENT_SPEED:
      minimumValue: -0.03
      maximumValue: 0.06
  abilities:
    enabled:
    - NINJA
    - TELECAST
    - SPRING
    - DIVINE
    rarity: 100
  names:
  - '&eChalice of Chaos'
  - '&eBlinding Gem'
  - '&eDemon Grail'
  - '&eBinding Gauntlet'
  - '&eElemental Root'
  - '&eCube of Binding'
  - '&eShard of Luck'
  - '&eTiara of Justice'
  - '&eVenom Monolith'
  - '&eDemonic Amulet'
  - '&ePurity Bracelet'
  - '&eSeal of Life'
  - '&eDisc of Luck'
  - '&eOblivion Tome'
  - '&eBlight Gem'
  items:
  - GOLD_RECORD
  - GREEN_RECORD
  - RECORD_3
  - RECORD_4
  - RECORD_5
  - RECORD_6
  - RECORD_7
  - RECORD_8
  - RECORD_9
  - RECORD_10
  - RECORD_11
  - RECORD_12
boss:
  minimumDropCount: 1
  maximumDropCount: 10
  modifiers:
    ATTACK_DAMAGE:
      minimumValue: -1.25
      maximumValue: 5.56
    LUCK:
      minimumValue: -0.5
      maximumValue: 10.00
    MAX_HEALTH:
      minimumValue: -1.5
      maximumValue: 30.00
  abilities:
    enabled:
    - DIVINE
    rarity: 1
  names:
  - '&eChalice of Chaos'
  - '&eBlinding Gem'
  - '&eDemon Grail'
  items:
  - DIAMOND
Modifiers

Here you can configure how modifiers will display on artifacts.
nameOverriesCommands value simply defines whether or not the name you give to this modifier over rides the command tree. currently, you would type "/artifact addModifier ATTACK_SPEED". With this enabled, it would be "/artifact addModifier damage". Case doesn't matter. If using this option be sure that no two modifiers have the same display.

Enabled simply defines whether or not this modifier should be used. Disabling this will stop all artifacts from using this modifier.

ATTACK_DAMAGE:
  enabled: true
  format:
    name: damage
    nameOverridesCommands: false
    placeholderValuePrefix: '%value%'
    placeholderNamePrefix: '%name%'
    valuePositive: '&8[&e&l+%value%&8] &a%name%'
    valueNegative: '&8[&c&l%value%&8] &a%name%'
Abilities

Here you can enable and configure various abilities. The description is what is displayed on the stat display. The format is what's displayed on an item. To edit the format for the stat display, see the language file.

If you use nameOverridesCommands, make sure that no ability name is the same as another!!!!!!

NINJA:
  enabled: true
  name: ninja
  nameOverridesCommands: false
  format: '&8[&d&lABILITY&8] &a%name%'
  description: '&3This grants special powers.'
TELECAST:
  enabled: true
  name: telecast
  nameOverridesCommands: false
  format: '&8[&d&lABILITY&8] &a%name%'
  description: '&3This grants special powers.'
SPRING:
  enabled: true
  name: spring
  nameOverridesCommands: false
  format: '&8[&d&lABILITY&8] &a%name%'
  description: '&3This grants special powers.'
DIVINE:
  enabled: true
  name: divine
  nameOverridesCommands: false
  format: '&8[&d&lABILITY&8] &a%name%'
  description: '&3This grants special powers.'

Commands
Admin commands: Permission - artifacts.admin
/artifact help - displays help
/artifact reload - reloads configuration file
/artifact create <displayname>
/artfiact addModifier <type> <value>
/artfiact removeModifier <type>
/artifact addAbility <type>
/artifact removeAbility <type>
/artfiact clear - cleares all abilities and modifiers
/artfact generate - generates a random artifact

Player commands: Permission - artifacts.player
/artifact stats - displays stats
/artifacts - opens artifact inventory

All permissions are configurable via plugins/artifacts/config/permissions.yml

Installation
REQUIRES NBT API.
https://www.spigotmc.org/resources/item-entity-tile-nbt-api.7939/

Download Artifacts and NBT API.
Upload/drag the files into your plugins folder.

Restart the server.
Done!

Planned Features

  • Customization for artifact inventory (storage limits, size, etc!)
  • Ability system for artifacts!
  • Level system

Similar projects

Plugin →