Throughout the existence of the bulk cell compression mechanic, it turned out that there were some imperfections with the system as was written. Mainly, this meant that the system would be unfit to properly handle compression chains where the multiplier from one variant to the next changes between 4 or 9 — say, a block requiring 4 of a resource and a compressed version of the block then requiring 9 of those blocks.
This PR significantly improves and reworks the compression system in the following two ways:
Compression chains are now stored in the same order of items, but now instead hold an overall multiplier corresponding to how much of the smallest base unit makes up each variant. In other words, the multiplier now starts at 1 for a nugget, followed by 9 nuggets for one ingot, 81 nuggets for one block, and so on.
It is now possible to override the reversibility check for a recipe in order to allow various items to be compressed that typically wouldn't be able to be decompressed again, such as Nether quartz to quartz blocks and amethyst shards to amethyst blocks. This works much the same way as the system used by Functional Storage, in which a tag is checked for items whose recipes should override the check.
With the second improvement mentioned, this PR closes #58.
Throughout the existence of the bulk cell compression mechanic, it turned out that there were some imperfections with the system as was written. Mainly, this meant that the system would be unfit to properly handle compression chains where the multiplier from one variant to the next changes between 4 or 9 — say, a block requiring 4 of a resource and a compressed version of the block then requiring 9 of those blocks.
This PR significantly improves and reworks the compression system in the following two ways:
Compression chains are now stored in the same order of items, but now instead hold an overall multiplier corresponding to how much of the smallest base unit makes up each variant. In other words, the multiplier now starts at 1 for a nugget, followed by 9 nuggets for one ingot, 81 nuggets for one block, and so on.With the second improvement mentioned, this PR closes #58.