Ender IO Zoo

Ender IO Zoo

961k Downloads

[5.0.26] Strange Interaction with Rotten Flesh, Thaumcraft, Natura

Plet53 opened this issue ยท 32 comments

commented

Issue Description:

Rotten Flesh fails to have any thaumcraft aspects.

What happens:

^

What you expected to happen:

Rotten Flesh having aspects (namely Humanus, Victus, Perditio)

Steps to reproduce:

  1. Install the following modset:
    Baubles [1.5.2]
    EnderCore [0.5.30]
    EnderIO [5.0.26]
    Mantle [1.3.2.24]
    Natura [4.3.2.49]
    Thaumcraft [6.1.BETA16]
    Forge [14.23.4.2707]
  2. Hold shift while mouse is over Rotten Flesh in inventory

Affected Versions:

  • EnderIO: 5.0.26
  • EnderCore: 0.5.30
  • Minecraft: 1.12.2
  • Forge: 14.23.4.2707

Your most recent log file where the issue was present:

https://gist.github.com/Plet53/af00c40809b5d825ea137f1b8964a172

commented

This doesn't sound like an Ender IO issue at all. Can you replicate it without ender io?

commented

That's the screwed up part.
I can't

commented

Coal and snowballs also don't have aspects with the .26 and .25 versions
The .24 version has them

commented

@EpicSquid does this happen if you disable darksteel Intergration by chance?

commented

Yes, the issue was around before then

commented

I am having similar issues. If I downgrade to Ender IO 5.0.24, the aspects on coal come back.

These are the mods I'm playing with. Forge 2708, MC 1.12.2.

mod-list.txt

commented

This issue is present in my game (has EnderIO 5.0.26 and EnderCore 0.5.31 with Forge 14.23.4.2705 and MC 1.12.2), though I did not know it was a bug until now.

commented

https://github.com/SleepyTrousers/EnderIO/blob/540cd7dae3dbcf4ed55f43e12c22bdcdd1035280/enderio-base/src/main/java/crazypants/enderio/base/integration/thaumcraft/ThaumcraftAspects.java#L26

I changed .add(getAspects(Items.COAL)) to .add(Aspect.FIRE, 10).add(Aspect.ENERGY, 10) and the normal coal got its aspects back, is getAspects buggy somehow when used like this?

commented

Yeah im going to go report that....

commented

This issue isn't resolved with the 5.0.29 version of EnderIO. Is it possible to turn this off with a config option or something?

commented

@tyler489 Did you file a bug with azanor's github?

I just commented out the entire method loadAspects and things went back to normal. I know it's not a great fix, but Thaumcraft integration that breaks Thaumcraft isn't very useful to me. I was using an older EnderIO build, but it didn't have the refined storage conduits.

I don't know what part of the subrouting is breaking aspects on snow, because nothing references snow in that section that I noticed.

It would be great if you just removed the aspect integration in the next EnderIO release to fix Thaumcraft until the real problem is fixed.

Thanks.

commented

#4781

I submitted a pull request to remove the loadAspects function which restores the aspects that were lost with EnderIO integration. Hopefully the actual problem will be resolved and this won't be necessary, but it's an okay "right now" fix.

commented

You can also readd the lost aspects using ModTweaker. Here is a demo ZenScript that readds Coal and Coal block aspects. It was tested with EnderIO 5.0.29 and EnderCore 5.35.

import thaumcraft.aspect.CTAspectStack;

// readd aspects that EnderIO integration breaks
minecraft:coal.setAspects(aspect:ignis*10, aspect:potentia*10);
minecraft:coal_block.setAspects(aspect:ignis*67, aspect:potentia*67);

commented

What makes you think this will ever be fixed, jd? I'm inclined to just completely remove Thaumcraft support for good...

commented

It may not be, but TC is still in beta. A public beta, but still a beta. It's not even complete, so the term beta is a rather charitable one.

If maintaining the TC support code is problematic, I would drop it. You guys are doing amazing work for free, and I very much appreciate it.

commented

Finally heard back from anazor.... 13 days later
https://gyazo.com/738a469b6002d4d9139194c517191b44

commented

Even if there is no good way to know if his code has been run and calculated aspects already before the Ender IO code runs, why should calling his library functions break aspects on other items later? His response doesn't fully address the problem I think.

commented

Thaumcraft is registering aspects during PostInit. When does EnderIO do it?

commented

In init, as the Thaumcraft API states to use it "once Thaumcraft is past the FMLPreInitializationEvent phase". But moving that to after postInit should not be too hard. Sad that it took 2 months to get that tiny bit of information...

commented

As of Beta 20 there's a new event for aspect registration and anything done before Thaumcraft's registration is cleared.

commented

Yes i informed them on the discord already.

commented

Yes but from what I can tell, I could not find any Thaumcraft integration code in Natura at all. I'm not sure if I missed it or not, but the issue does not persist if Ender IO is removed as well. It only happens if both are running. I'm only bringing this up here because of the weird nature of this, that it specifically needs both mods - not one or the other. Also, there was already a ticket there that I added on to.

commented

This is still a current problem even with Thaumcraft Beta 23 and Natura. Strangely enough, it does not happen if you remove Natura. I hope we can see an update to the Thaumcraft API soon.

commented

Mario, Thaumcraft API changes won't help here, the most they can do is crash the game when Natura is installed. This needs a change in Natura, they need to register their aspects in post init instead of pre init as the old Thaumcraft API documentation claimed. Might be worth telling them (hint, hint)...

commented

It does not appear it has been entirely fixed. The patch fixing this came out a day before Thaumcraft updated to add an event for registering aspects and old versions will be depricated, so I am unsure if it updated to use that method? Either way, I double checked all versions of the mods I am using, and everything appears to be up to date.

Ender IO 5.0.31
EnderCore 0.5.37
Natura 4.3.2.62
Mantle 1.3.2.24
Thaumcraft Beta 23

When it comes to things being fixed, other items losing aspects like Coal and Snow have been fixed, but strangely enough rotten flesh persists as a problem.

commented

what version of enderio are u using as enderio fixed this already?

commented

Quite sure this has nothing to do with Ender IO---we don't use Items.ROTTEN_FLESH at all in the Thaumcraft aspect code.

My guess is that there's a third mod in there that has a dependency on Ender IO, Natura, mantle, and/or Tinkers. When you add both Natura and Ender IO, the loading order gets shifted so that mod is loaded before Thaumcraft---triggering the error.

commented

I do not have this issue in my own pack and I don't have Natura in there. Ender IO currently has no aspects but that's because thaumcraft changed to using an event for the aspect implementation.

commented

Thaumcraft did change the API back around Aug 3rd to use an event for registration, and it does not look like Ender IO has updated the Thaumcraft API for about 4 months according to the repository. I have already tested all of this in an instance with only Natura, Ender IO, Thaumcraft and JEI - plus all core mods needed. Its not anything else, its certainly isolated to one of these mods. Thaumcraft calculates some aspects through recipes and the like, so that might be how it gets down to Rotten Flesh.

commented

Like epic said thaumcraft made everything happen in an event and enderio doesn't use that event yet.. therefor it can not be enderio breaking it.

commented

I can't explain why he doesn't get aspects, but that is irrelevant. The old methods to register aspects still work, they are only deprecated and will be removed in the future. They still fully work right now, and I can confirm that Ender IO has aspects on all of its alloys minus End Steel plus the other things it adds aspects to, like the tormented Enderman head.

commented