ExtraCells / ExtraCells2

ExtraCells 2
MIT License
135 stars 116 forks source link

2000k and 4000k fluid cells do not work #684

Open FluffyDiscord opened 4 years ago

FluffyDiscord commented 4 years ago

Fluid cells do not work, they dont accept any fluid. You can put them in the ME drive, but they do nothing. The 256k does work for some reason.

luihum commented 4 years ago

I'm having this problem too, I will inspect the jar as a zip and look for any missing code or something like that. EDIT: Nevermind. I will just look up the code here on GitHub. EDIT 2: i think it has something to do with the "addSlotToContainer" function. I will continue looking for old codes, wrong class definitons or hard-coded item IDs.

MrFreakOne commented 4 years ago

Hello,

i have the same problem, I wanted to ask if there was any news about not storing the liquids (4000k Fluid Cell).

PS: I forgot to enter the version number.

Extra Cells 2 Version. 2.6.5 Applied Energistics 2 Version. rv6-stable-7 ModPack. Antimatter Chemistry v1.2.29

See You.

Arudinne commented 4 years ago

Hello,

I am also seeing this issue on the server I play on. I crafted about 60 4096K cells and the system will not accept any fluids, but as soon as I added 3 64k fluid cells the system started accepting fluids onto the 64k drives.

Gas and Item storage Cells work as expected.

Extra Cells 2 Version: 2.6.3 Applied Energistics 2 Version: rv5-stable-7 ModPack: All the Mods 3 - Remix 1.5.3

Shad0wlife commented 4 years ago

Could you check with updated versions of both mods? EC2 2.6.3 is for AE2 rv6 and even then it's outdated. Some fluid calculation changes have been done in EC2 around the 2.6.3 area looking at the commit history. Maybe that broke compatibility with old AE2 releases - but obviously old version combinations cant really be supported.

Arudinne commented 4 years ago

Unfortunately that isn't something that would be feasible as all of these mods are part of a pack and adding/removing/changing mods would make it much more difficult for the users. Also I am not the admin so it's not really my decision in any case.

I have opened an issue on the ATM3:R github and linked it here.

Shad0wlife commented 4 years ago

I understand the modpack issue, you might want to test the new version as standalone first to confirm that it works. I sadly do not have the time currently.

Whatever fixes this issue - the modpack needs to update the mod in any way for the fix to take effect.

Kienguy commented 4 years ago

Pack: Enigmatica 2 Expert version 1.77 AE2: rv6-stable-7 Extra Cells 2: 2.6.5 1024 and 4096k fluid cells don't work, 256k does. AE2 cells work.

I'm not sure if there would be any conflicts that are related to other mods in the pack such as AE2 Stuff (0.7.0.4) or AE2 Wireless Terminals(1.12.2-1.0.34), but this is the information I have. Tested using an annihilation plane on a infinite water source, not that that should make any difference.

everseeking commented 4 years ago

Pack: Enigmatica 2 Expert version 1.77 AE2: rv6-stable-7 Extra Cells 2: 2.6.5 1024 and 4096k fluid cells don't work, 256k does. AE2 cells work.

I'm not sure if there would be any conflicts that are related to other mods in the pack such as AE2 Stuff (0.7.0.4) or AE2 Wireless Terminals(1.12.2-1.0.34), but this is the information I have. Tested using an annihilation plane on a infinite water source, not that that should make any difference.

Same mod versions, playing DD&SS - having the same issues. 256k Fluid drive works, 1024k drive does not take fluid any way I try (partitioned & non-partitioned).

Shad0wlife commented 4 years ago

Ok, I can definitely confirm the issue. I can also tell the deprecated EC2 cells still work alright. This is a really curious issue...

Next info: it's independent of the metadata ID, I switched 1024 and 256 around. 256 still works, 1024 doesnt... except - when it does. Since I switched the sizes in a savegame where they were the other way around before (regular mod), I had a 1024k drive that had water in it already. And I can keep filling it with water and drain it. I still can't add any new fluid into it though. This makes me think the size is an issue somehow, though I can't really see why that would be.

Edit; I have a veeery bad feeling about this being an Integer overflow issue that the 256k cell just barely clears. The math:

64k cell: 64 1024 - 512 = 65,024 bytes left for storage of 1 type -> 65,024 8 = 520,192 buckets to be stored max -> 520,192,000 MILLIbuckets to be stored max

256k cell: 256 1024 - 2048 = 260,096 bytes left for storage of 1 type -> 260,096 8 = 2,080,768 buckets to be stored max -> 2,080,768,000 MILLIbuckets to be stored max

now, the Integer overflow happens very shortly after at 2,147,483,647... So maybe it's an issue on AE2's side that only allows (2^31)-1 units to be stored in one thing, or maybe it's an NBT limitation - I'd need the info of an expert for that. Looking into AE, the underlying AEFluidStack has a long stacksize though, and basically replaces the amount of the underlying forge FluidStack that is only an int.

Shad0wlife commented 4 years ago

Verified that it's an AE issue. I increased a Cell from AE to 1024k and it stopped working as well. This is going to be really hard to fix but I'm fairly certain it has to be fixed in AE2.

Shad0wlife commented 4 years ago

Sorry for the spamming, but FML... I found it. It is one line, one variable in AE2 that causes the issue: link

I shall open a PR there as soon as I have cleaned up my code.

Shad0wlife commented 4 years ago

Guys, since the limit in AE2 seems to be somewhat on purpose, you'll have to use the up to 4 Billion 256k Cells that are possible instead. Or EC2 would need to get changed with a few files which would 99% be copy-pasted code from AE2.

MrFreakOne commented 4 years ago

Guys, since the limit in AE2 seems to be somewhat on purpose, you'll have to use the up to 4 Billion 256k Cells that are possible instead. Or EC2 would need to get changed with a few files which would 99% be copy-pasted code from AE2.

Hi, you mean that AE2 was programmed to make this cell not work? But why should he program this on purpose? Because of performance? I do not understand that.

PS: Thank you for your work that you found out why this may be so.

Translated into English with google.com.

See You.

Shad0wlife commented 4 years ago

In a way yes, but it's not made to make EC2 not work, but EC2 assumes something should work that doesn't. Effectively there is a split in size between how much you are supposed to be able to store in a cell and in the whole network, and EC2 goes over that cell size limit. The limit is somewhat arbitrary, but consistent. I am working on the code to make the cells work again, but the large amount of copy pasted code is still a thing sadly and I'm having some issues with rendering causing crashes - code which did not crash before my changes but did not exactly work as intended either.