extension/New Traits

To Create a new Triat, take RacesAndClasses.jar and Bukkit.jar as Build-Dependency Libraries and implement one of the Trait Interface. Otherwise there are already many abstract base classes so you would not need to implement everything from the base-interface yourself. There are lots of abstract Traits that are a good basis to create own ones:
* AbstractBasicTrait
* AbstractActivatableTrait
* AbstractResistance
* TickEverySecondTrait
* AbstractArrow
* AbstractMagicSpellTrait
* AbstractActivatableAETrait
* AbstractBuffTrait
* AbstractContinousCostMagicSpellTrait
* AbstractTotemTrait
Probably missed some. They are a great base to creating new ones.
New Traits need some Java-Annotations. For a simple Refference, look into some of my Traits in Github (example here). They need the following Annotations:
@TraitEventsUsed on the Method: generalInit(), if Events are needed.
@TraitInfos on the Method: importTrait, to define the Name, Category and visibility
@TraitConfigurationNeeded on the method: setConfiguration, to check for configuration needed from YML.
New Traits can / have to be compiled as Jar file with only the trait classes needed. The jar can be put in the folder: 'plugins/RacesAndClasses/ExternalTraits/'