
[Bug] ME Export Bus Issue with IC2 Coolant Cells and Fuzzy Card
gatoborrachon opened this issue · 13 comments
The ME Export Bus does not recognize any 'IC2 Coolant Cell' with less than 99% percent of durability when using a Fuzzy Card with the configuration "Ignore"
Describe the bug
When i tried to insert IC2 Coolant Cells into an IC2 Reactor, the ME Export Bus does not insert any IC2 Coolant Cell with less than 99% of life (anything below the full life (for example: 60000) is not recognized, for example: 59999/60000)
To Reproduce
1.- Add IC2 and AE2
2.- Place an IC2 Reactor with some Fuel Cells, place an Export Bus on the Left and an Import Bus on the Right, each Bus will have its own ME Chest, just like this:
3.- You will require to damage some Coolant Cells, use 10k coolant cells (to speed up the process), any kind of Nuclear Fuel (Uranium or MOX, it doesn't matter) and turn on the reactor. Example (here i'm using MOX Fuel Cells and 10k coolant cells, the reactor plating is optional):
4.- add 1 fuzzy card and 3 speed cards on each Bus (Importer and Exporter)
5.- Before the Coolant Cells are too damaged, take one and put it inside the ME Export Bus with the comparison: Ignore.
5.1.- Duplicate an entire stack of these Slightly Damaged Coolant Cells and put it inside the ME Chest of the Export Bus Side.
6.- Once you damaged enough your Coolant Cells (for example: 2500/10000) you can use one of them as a template for the Import Bus (set the comparison to 25%). Example (notice the damaged Coolant Cell):
7.- You will see how the Damaged Coolant Cells are being removed, but they are not being replenished even when the ME Chest of the Exporter has enough Coolant Cells.
(Reactor Empty)
Expected behavior
In short, the ME Export Bus should insert these Slightly damaged Coolant Cells, but it simply doesn't.
Additional context
If you ask why i have Slightly Damaged Coolant Cells, i use another Reactor where i regen the Coolant Cells, and they doesn't fill with an exact value (around 56%)
Environment
+There are no more requeriments
+No more Mods are required.
- Minecraft Version: 1.12.2
- AE2 Version: appliedenergistics2-rv6-stable-7.omni-fixes-v40c
- Forge Version: 1.12.2-forge-14.23.5.2854
- IC2 Version: industrialcraft-2-2.8.221-ex112
I suspect (but haven't looked at it beyond your screenshots) that this is the case because the fuzzy damage function compares items which store damage in a vanilla way using metadata values. I think the coolant cells are storing their damage using NBT tags (which is interpreted by AE2 as them being distinct items).
well, i think you are right:
1.- i have 2 IC2 addons (GregTech Experimental and FrogCraft) that add Coolant Cells
2.- GregTech Experimental (and IC2) Coolant Cells store their damage using the NBT "AdvDmg"
2.1.- But FrogCraft uses Metadata, and in one test i did, it seemed to work (i will do a new try to confirm this)
3.- But as far as i know, someone in the Unofficial AE2 Discord Server told me that the Fuzzy Card recognizes NBT too, but idk if it only recognize a NBT called 'damage' or something like this, so i think that we just need to add that NBT 'AdvDmg' as one of the recognized NBT values (if this is the case of course).
sorry, i can't believe i forgot it
I think the coolant cells are storing their damage using NBT tags (which is interpreted by AE2 as them being distinct items).
but then why the Import Bus works perfectly fine? (maybe inside the code of the Import bus there's the key to solve this issue, but i really don't know)
heres an old issue on the original ae2 issue-tracker explaining why it this way:
AppliedEnergistics#3361
TL;DR: I couldnt make it work.
TL;DR: I couldnt make it work.
we can't ask for help from that guy? (the guy from this video: https://www.youtube.com/watch?v=VB0lgmBu0pI)
EDIT: He said this:
I have already deleted that code, but tomorrow I can look again and describe in more detail how to fix it
Or, in the other hand, what exactly i would require to do to fix this? (in a personal fork)
So I searched my computer and found some difference between github version of rv5-stable.5-1.12 and what I have now
I am adding files mentioned in previous topic
new.zip
in ItemComparisonHelper I added block from line 106
in AEItemStack - getMaxDamage 338
in AESharedItemStack - many alters, line 47, isDamageable, getCustomDamage, getMaxDamage, etc, see comparison
also it can be that github version is slightly different from what I have downloaded 3 years ago, so feel free to ask more questions
notice 2499 damage on pic.2 - this is crucial, it must be strictly lower than 2500
edited files will be in zip
rv6-stable7.zip
in AEItemStack - getMaxDamage 338
mmm, well, it seems that many things changed since rv5-stable.5-1.12, i simply can't override getMaxDamage
in AESharedItemStack - many alters, line 47, isDamageable, getCustomDamage, getMaxDamage, etc, see comparison
here too, no one of these functions are able to be overrided
sorry for the relay, i were a bit busy
and yeah, it totally worked, every coolant cell is being moved at the specified damage, i also tried the ME System with the Regen Reactor and it works precfectly too, many thanks
my god, thank you so much, i will build the dev environment with the fixes ASAP
(As soon as i can test it, i will close this issue, give me an hour, i have to do a thing first)
How do you trying to compile your project? What IDE do you use?
As always, gradlew setupDecompWorkspace
, and since i'm using Eclipse: gradlew eclipse