I decided to create this pull request and these modifications after noticing the fact that, due to the nature of MSU being open for anyone to use on their mods, there exists the chance of people adding Aetherium's item displays manually more than once.
This can cause issues due to the system working via dictionaries, having multiple duplicates of the same key asset/display prefab can cause isues in the longrun.
These issues are easily avoided if the item displays and key assets are added from aetherium's side.
What changed
The main change was the inclusion of a virtual GameObject field to store the ItemDisplayModelPrefab
The field is virtual because not all items use IDRS (Some use follower prefabs).
The inclussion of a new class in ModCompatibility that handles IDRS.
What now
I implore komrade to add these changes to aetherium, due to the nature of MSU's IDRS system being pretty much set in stone, the chances of changes breaking aetherium as a whole are minimal. Even then, if necesary, komrade can simply disable where the call to initialize the compatibility is called (Specifically at the end of the AetheriumPlugin.Awake() method.)
The update for MSU that contain the set in stone IDRS system is set to release very soon. (deadline this sunday.)
Why
I decided to create this pull request and these modifications after noticing the fact that, due to the nature of MSU being open for anyone to use on their mods, there exists the chance of people adding Aetherium's item displays manually more than once. This can cause issues due to the system working via dictionaries, having multiple duplicates of the same key asset/display prefab can cause isues in the longrun.
These issues are easily avoided if the item displays and key assets are added from aetherium's side.
What changed
What now
I implore komrade to add these changes to aetherium, due to the nature of MSU's IDRS system being pretty much set in stone, the chances of changes breaking aetherium as a whole are minimal. Even then, if necesary, komrade can simply disable where the call to initialize the compatibility is called (Specifically at the end of the AetheriumPlugin.Awake() method.)
The update for MSU that contain the set in stone IDRS system is set to release very soon. (deadline this sunday.)