AE2-UEL / Applied-Energistics-2

AE2UEL, a Fork of a Minecraft Mod about Matter, Energy and using them to conquer the world.
https://legacy.curseforge.com/minecraft/mc-mods/ae2-extended-life
Other
74 stars 71 forks source link

Use LoadingCache instead of HashMap for CableBusBakedModel #385

Closed serenibyss closed 8 months ago

serenibyss commented 8 months ago

Supersedes #362

Uses a cache instead of a hashmap to avoid a CME in java 9+.

New impl in this PR vs #362 implements the cache non-statically, since the baked model is only baked once, and allows us to use a LoadingCache instead of a standard cache, giving us access to getUnchecked(). Additionally this no longer necessitates a resource reload listener, since the model will be automatically rebaked on a resource reload, letting GC clean up the old cache instead of needing to clear it on reload