public static void registerModifier(IModifier modifier) { registerModifierAlias(modifier, modifier.getIdentifier()); }
public AbstractTraitLeveled(String identifier, String suffix, int color, int maxLevels, int levels) { super(identifier + suffix, color); this.name = identifier; this.levels = levels; // don't overwrite the modifier alias if one with less levels already is present // we basically always want the level1 one to be associated with the modifier used IModifier modifier = TinkerRegistry.getModifier(name); if(modifier != null) { if(modifier instanceof AbstractTraitLeveled && ((AbstractTraitLeveled) modifier).levels > this.levels) { TinkerRegistry.registerModifierAlias(this, name); } } else { TinkerRegistry.registerModifierAlias(this, name); } aspects.clear(); this.addAspects(new ModifierAspect.LevelAspect(this, maxLevels), new ModifierAspect.DataAspect(this, color)); }