Race Configuration

The races config is defining all races, how the player progresses through them, and what skills a race has. It is recommended to keep the amount of skills per race at a maximum of 5 (more skills might not display correctly). There are active and passive skills (depending if the skill has an OnActive effect or not) - Active skills have to be the 1st through 4th skill in a race, as the skills in order use the commands /ability1, /ability2, /ability3 and /ultimate. If fa skill is passive the command still targets the skill, but nothing happens. Note: id values should be unique throughout the config

Each RACE in the list starts with an id, name and description value. These should be pretty obvious.
The requiredLevel is the amount of levels a player has to gain before being able to access the race. This uses the global Level that increases with every normal level up, but is not tied to the race. E.g. if you level up 8 times as undead and 8 times as night elf your global level is 16.
startSkill is the amount of initial skill points that can be put into the races skills before leveling the first time (like an initial bonus)
levelXP is the amount of XP required to reach the next level while the race is selected. You can put a formular here that accepts the current level (e.g. level*128) Finally you can specify the skills for the race. As mentioned before it’s recommended to not add more than 5 per race.

The SKILL has again, an id, name and description.
Next there’s a cooldown that limits how often a skill can be used in seconds (usefull for active skills). The parameters are a table of numbers that can be used as values in the skills effects. The number of rows equals the amount to skillpoints a player can invest into this skill (up to 8 is recommeded) Each row has to have the same amount of columns (1 to 9). In formulars you can use the arguments by using $parameter - let’s say you want to access the 5th column for the players current level row, this is represented by $5.

The EFFECTS is a list of mini scripts that define what the skill does. They always consist of a trigger, a condition in brackets and actions separated by pipes.
Generic Example: OnTrigger (Condition) Action | Action | ...

Possible TRIGGERS are:

  • OnActive - when the skill is one of the first 4 gets triggered by /ability1, /ability2, /ability3, /ultimate respectively
  • OnSneak - when starting to sneak
  • OnJump - when jumping
  • OnAttack - when dealing damate to an entity
  • OnHit - when receiving damage from an entity
  • OnBlock - when start holding up the shield
  • OnSprint - when start sprinting
  • OnSpawn - when respawning
  • OnDeath - when dying

CONDITIONS compare variables. If all conditions are met the actions get executed in order. You can join multiple conditions with & (ampersand: and) and/or | (pipe: or). This are valid conditions:

  • Number above Number
  • Number below Number
  • Living teammate Living - same scoreboard team
  • Living opponent Living - different scoreboard team
  • Item oftype TypeName - use minecraft:itemtype
  • Item nottype TypeName - use minecraft:itemtype

Hint: Instead of numbers you can almost always write formulas (start with an equal-sign and write without spaces, formulas support Parameters ($parameter) and variables. It is also possible to just use a parameter or variable as Number (writing $1 equals =$1 and self.mana equals =self.mana). Equations support addition, subtraction, multiplikation and division along with a few other operators i currently forgot.

VARIABLES are:

  • Self (Living) - The player of this race using this skill
  • Self.HP (Number) - Health of Self
  • Self.Mana (Number) - Current Mana of Self
  • Self.XP (Number) - WC-Experience Points of Self
  • Target (Living) - The player or entity being targeted by Self
  • Self.HP (Number) - Health of Target
  • Self.Mana (Number) - Current Mana of Target
  • Self.XP (Number) - WC-Experience Points of Target
  • Item (Item) - Usually the item in either hand
  • Damage (Number) - The amount of damage dealt
  • Random (Number) - A random number from [0..100[

ACTIONS
This is a list of action provided as of writing this. I will accept suggestions and other plugins can theoretically add more. The syntax is actionName argument argument, where I’ll append the arguments type behind a colon.

Active Effects

  • Blink source:Living distance:Number - teleport a specified distance in look-direction
  • Invisibility source:Living duration:Number - become invisible for a specified amount of seconds
  • Freeze target:Living duration:Number - prevent movement and attacks for some time in seconds
  • Ignite target:Living duration:Numbner - ignite the target for some time in seconds
  • SlowHeal target:Living amount:Number - heal 1 heart / second for the specified amount of hearts
  • BonusDamage amount:Number - increase the current damage output by the specified amount
  • CancelEvent - prevent the underlying event for this effect specified by trigger (e.g. the player dying at OnDeath)
  • ChainLightning source:Living targets:Number range:Number damage:Number - strikes the specified amount of randomly chosen living entities around source with a lightning, dealing the specified amount of damage to each.
  • AreaFreeze source:Living range:Number duration:Number - freeze livings within the specified radius for some time in seconds
  • Speedboost target:Living duration:Number amount:Number -.increase walking speed of target by N times for the specified duration (a value of 1 results in 2x speed)
  • Jumpboost target:Living duration:Number amount:Number - give the vanilla potion effect JumpBoost of the specified level (amount) for the specified time in seconds
  • Confuse target:Living duration:Number amount:Number - give the vanilla potion effect Blindness of the specified level (amount) for the specified time in seconds
  • Thrownade source:Living speed:Number damage:Number - throws a grenade (slimeball) from the sources face with specified speed, that deals the specified amount of damage when exploding after a few seconds

Stats Effects

  • DrainMana target:Living amount:Number - remove the specified amount of mana from the target
  • RestoreMana target:Living amount:Number - give the specified amount of mana to the target
  • TransferMana source:Living target:Living amount:Number - transfer the specified amount of mana from target to source over time with a rate of 1 per second
  • setHealth target:Living amount:Number - set the health of target to the specified amount instantly (20 is all 10 hearts)
  • Heal target:Living amount:Number - add the health to the target instantly
  • Hurt target:Living amount:Number source:Living - dain the amount of health from the target instantly. the source as player will be credited xp for the supplied damage (if applicable)

Different Effects

  • PlaySound target:Living sound:String - use a sound.name.string to play a sound to the target
  • Tell target:Living message:String - send a Message to the target
  • Broadcast message:String - send a Message to everyone on the server

The message can contain $self, $target, $item, $damage or $dmgmod as placeholders for the respective values.

A example configuration should be automatically generated when starting the server with this plugin for the first time, or on the GitHub

Category: Gameplay

Published on Dec 2, 2018

views

stars

watchers

total downloads

Licensed under MIT

Promoted Versions

Members