AE2 Unofficial Extended Life

AE2 Unofficial Extended Life

3M Downloads

[Bug] ME Export Bus Issue with IC2 Coolant Cells and Fuzzy Card

gatoborrachon opened this issue · 13 comments

commented

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:
2021-05-18_09 47 31

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):
2021-05-18_09 57 23

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.
2021-05-18_09 47 46

5.1.- Duplicate an entire stack of these Slightly Damaged Coolant Cells and put it inside the ME Chest of the Export Bus Side.
2021-05-18_10 06 27

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):
2021-05-18_09 47 54

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)
2021-05-18_10 06 25

(ME Chest full)
2021-05-18_10 06 27

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
commented

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).

commented

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).

commented

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)

commented

heres an old issue on the original ae2 issue-tracker explaining why it this way:
AppliedEnergistics#3361

TL;DR: I couldnt make it work.

commented

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)

commented

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

commented

How do you trying to compile your project? What IDE do you use?

commented

I managed to successfully rewrite rv6-stable7 code with same fix (some places are different, but logic the same) and it works
2021-05-22_14 22 26
2021-05-22_14 22 46
2021-05-22_14 23 04
2021-05-22_14 23 09
2021-05-22_14 23 18

commented

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

commented

notice, you probably want to remove AELog (125,126,127) in ItemComparisonHelper

commented

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

commented

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

System working
2021-05-22_17 52 55

2021-05-22_17 58 11

System with the Regen Reactor
2021-05-22_17 52 58

Cells being inserted:
2021-05-22_17 53 08

Cells being removed (50% in Fuzzy Card):
2021-05-22_17 56 39

commented

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