FluidStack missing equals() implementation
mspielberg opened this issue ยท 1 comments
The Forge version of FluidStack has an implementation of Object.equals(), but Porting-Lib does not, continuing to use the default of reference equality. As noted in the Forge code, this is important when FluidStack is used in standard data structures.
As an example of where this causes a problem, Tinker's Construct uses a HashMap to cache models keyed by FluidStack. Because of the missing equals(), every instance of FluidStack is considered to be unequal to every other instance, and the cache grows without bound. On my install using Hephaestus, the cache grows to 500k+ entries, taking up over 2.5 GB of RAM before finally crashing.