MineTweaker RecipeMaker

MineTweaker RecipeMaker

12M Downloads

[Crash] NoMoreRecipeConflict GUIButton CME

MokahTGS opened this issue ยท 14 comments

commented

Getting a crash trying some modded items:

http://pastebin.com/TxdaXyVt

commented

As previously pointed out in #23, this is not something we can fix.

commented

I have just received news of this error as NoMoreRecipeConflict is under my watch.
I am afraid this issue lies in the fact your packets aren't handled on the minecraft main client/server threads, but on netty threads. You could consider it a MineTweaker issue that, as a dependent, it lets you try to change Minecraft data in the wrong thread. Though i am surprised you didn't encounter this issue with Minecraft alone.
Anyhow, it is between MineTweaker and your mod to decide how to best fix this.

commented

MTRM doesn't edit anything but a text file, It never touches any minecraft data. MT/CT does all the interpreting and editing.

commented

Technically correct, I'm just gonna sync it on our side, because it'll be easier then having the issue fixed on all MT/CT versions.

But I still highly recommend that you change the way you handle the recipe stuff on your end. Mainly because you redo the calculation every 20 renderticks, I would sync that with client ticks if possible.

The main issue seems to be with the creative button, because it renders while every container is up, even the MTRM one. Why not store the result and use a tick handler (and not render ticks preferably) to refresh it every once in a while.

commented

Except here
Where it interacts with MineTweaker which interacts with Minecraft.

commented

I am not sure what you mean here. GuiScreen and components like GuiButton are fetch for rendering steps once per game cycle, Which is usually about as often as client ticks per cycle (though those max at 10). They even happen on the same client thread so it doesn't matter for the issue at hand.
Also the button is added on each container which have crafting space, for compatibility purposes.

commented

Sorry still getting a crash with this issue:

https://pastebin.com/92VZgv1Q

commented

So I'm convinced now that I was right from the start and this has nothing to do with MTRM.
Mainly because this issue is a client side GUI crash, and the MTRM reload happens server-side, it's mine/crafttweaker who does the sync to the client. I don't know why I didn't not note that down on the original reply on #23. Care to comment @GotoLink ?

commented

@MokahTGS

Well one of these needs to be reopened so that we have a place to report issues and test changes. This issue is still there so it should be labeled "Bug" and open.

No. You can comment here, and the issue stays closed until I find a reason to reopen it in our code. If the issue isn't with our code we can't fix it, and I can't currently find a reason why it's our mod's doing.
Hence why I asked GotoLink for a comment.

commented

I can't produce the problem with MineTweaker3, your mod and mine in the versions that MokahTGS used for 1.10.2.
Both MTRM and CT GUI work as I expect they would.
NoMoreRecipeConflict button also reacts fine.

I can only assume the issue is within another unknown mod from the list.

commented

Did you test with conflicting recipes in the instance then test with that recipe in the GUI?

commented

That's quite possible, but concurrency issues are sometimes hard to reproduce... I just find this extreamly frustrating, not in the least bit because I'm now convinced that this wasn't the described issue from the start... I may poke around in the Minetweaker code, see if it is what's doing the changes in a netty thread, if so I think I could convince Jared to address this, but he won't back-port the changed I don't think.

@Claycorp I don't think it has a particular correlation on what exact recipe is on screen, just as long as the button is there, it should either happen or not.
(this came in right when I was typing this)

commented

Is there anything in particular you'd need me to do from my end?

commented

Your MT scripts may help, and the mods list, but I think that's in the crash report, and what recipe you put in the screen to make it crash. (although I don't think it's recipe dependent)