Add armour classes!

- Added 3 new armour variants - the sage, the battlemage and the warlock - each in the 8 elemental varieties
- Added resplendent thread, crystal silver plating and ethereal crystalweave, used to upgrade regular armour into class armour
- Added the new armour upgrades to loot tables
- Added recipes for the new armour to JEI, along with info pages for the 3 upgrade items
- Added advancements for the new armour classes
- Removed legendary wizard armour
- Removed arcane seal of protection
- Removed the 'legendary' advancement
This commit is contained in:
Electroblob77
2021-01-16 23:02:03 +00:00
parent d3d76cae16
commit 299510e663
285 changed files with 2841 additions and 442 deletions
@@ -68,6 +68,26 @@ public final class SpellModifiers {
return new SpellModifiers(new HashMap<>(this.multiplierMap), new HashMap<>(this.syncedMultiplierMap));
}
/**
* Combines the given SpellModifiers object with this one. More specifically: for each modifier, multiplies the
* values from both objects together and sets it to sync if either object does so. This method changes the object
* it is called on but not the one given as a parameter; apart from this it does not matter which way round the two
* objects are.
* @param modifiers The SpellModifiers object to combine with this one; will not be modified by this method.
* @return The SpellModifiers object, allowing this method to be chained onto the constructor.
*/
public SpellModifiers combine(SpellModifiers modifiers){
for(Entry<String, Float> entry : multiplierMap.entrySet()){
float newValue = entry.getValue() * modifiers.get(entry.getKey());
entry.setValue(newValue);
// Also need to update the synced map if the modifier is synced in either object
if(this.syncedMultiplierMap.containsKey(entry.getKey()) || modifiers.syncedMultiplierMap.containsKey(entry.getKey())){
this.syncedMultiplierMap.put(entry.getKey(), newValue);
}
}
return this;
}
/**
* Adds the given multiplier to this SpellModifiers object, using the string identifier that the given wand upgrade
* item was registered with.