Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Combiner crashing 1.20.1 #316

Closed
aAndrew3030 opened this issue Jul 11, 2023 · 11 comments
Closed

Combiner crashing 1.20.1 #316

aAndrew3030 opened this issue Jul 11, 2023 · 11 comments

Comments

@aAndrew3030
Copy link

Clicked the plus button in JEI to add the recipe to the combiner and it crashes the game.

crash-2023-07-10_21.13.08-client.txt

@Dark-Arcana
Copy link
Collaborator

I can't replicate your issue. I've used the same version of Forge, but I'm not using any of the mods you've added. The issue you are having is most likely caused by another mod you have loaded creating an incompatibility. Given that Alchemistry works on its own, it's not really something I can fix.

If you can narrow down the mod causing the issue, it's possible I could find a way to fix it on my end (if it's indeed an issue in my code). To do that, you will want to follow these instructions:

  1. Create a backup of your world.
  2. Load your backed up world and confirm that the issue does happen again every time you try the same thing with the combiner.
  3. If it does, remove half of your mods and try again with a fresh copy of your backed up world.
    3a) If you don't get the same issue, you know it was caused by a mod in the half you pulled out, so add half of them back in again.
    3b) If you do, the issue is with a mod you left in, remove another half of the mods and load with a fresh copy again.
  4. Repeat step 3 until you narrow it down to a single mod or set of mods that always cause a crash.

I need this info from you as I may not be able to replicate it even if I load all the same stuff. If you can get that info to me, I will see what I can do to help. Thanks.

@aAndrew3030
Copy link
Author

It is Rubidium trying to render the combiner screen

crash-2023-07-14_21.25.31-client.txt

@Dark-Arcana
Copy link
Collaborator

It's because of my custom fake item renderer. I think Minecraft added a new way to render a fake item to the screen, so I'll look into that. With any luck, it not only exists but rubidium supports that method.

@Dark-Arcana
Copy link
Collaborator

Ok just as a quick update, I've added Rubidium to my development environment to replicate. I was able to replicate the issue and track it down to the exact cause. Rubidium is attempting to cast the VertexConsumer to it's own custom interface . . which is only in Rubidium. So it accounts for its own mixin'd versions of things in the base game but doesn't allow for other implementations.

image
image

Rubidium is overwriting the renderModelLists method used in the ItemRenderer class. On the first line, it's casting the VertexConsumer to its own interface. Since my code doesn't depend on or use this interface and has no implementation for their push method, it will not be able to cast and will cause a crash.

There are a few optional fixes:

  • Rubidium can fix itself for any other mod that has a custom VertexConsumer when rendering an item.
  • I can attempt to rewrite the VertexConsumer for rendering a fake item in such a way that it doesn't have an issue with Rubidium, though I have no idea how best to do this as I don't know the internals of that mod and what it's attempting to accomplish with that interface.
  • ATM9 can remove Rubidium --- lol I know this isn't a real option as large modpacks need mods like Rubidium to make them playable.
  • I can use the new GuiGraphics#renderFakeItem method. It doesn't have optional opacity, so the item will look as those it's actually in the slot and might be confusing.

Realistically, the last option might be the only option for right now to prevent this crash. I can revisit other options later.

@Dark-Arcana
Copy link
Collaborator

OK SCRATCH EVERYTHING ABOVE. I figured out how to get around this by setting the shader color!

@Sudoasroot
Copy link

Just Tried Running ATM 9 0.0.39 with AlchemyLib - 1.20.1-1.0.26 - This is what i get https://mclo.gs/IXFlT2t

java.lang.NoSuchMethodError: 'void com.smashingmods.alchemylib.api.blockentity.container.FakeItemRenderer.renderFakeItem(net.minecraft.world.item.ItemStack, int, int, float)'

@Sudoasroot
Copy link

Just Tried Running ATM 9 0.0.39 with AlchemyLib - 1.20.1-1.0.26 - This is what i get https://mclo.gs/IXFlT2t

java.lang.NoSuchMethodError: 'void com.smashingmods.alchemylib.api.blockentity.container.FakeItemRenderer.renderFakeItem(net.minecraft.world.item.ItemStack, int, int, float)'

When i open the empty Combiner GUI

@Dark-Arcana
Copy link
Collaborator

Because it's not done yet. I haven't fixed it in Alchemistry. I just pushed some changed to AlchemyLib to be able to test in Alchemistry. Please wait.

@Dark-Arcana
Copy link
Collaborator

Just as an FYI, I pushed an update for AlchemyLib and Alchemistry that should fix that problem and improve some other stuff. Please report back testing with ATM9. If there are no more issues with crashing related to Rubidium, we can close this.

@Sudoasroot
Copy link

The Combiner Crash is fixed - Thanks a lot! ATM 0.0.41 with alchemistry-1.20.1-2.3.1 & alchemylib-1.20.1-1.0.29.jar runs without clientside crashes - i have tried some recepies.

Another issue still persists though, whenever something is automatically inserted to the input slots of the combiner , it is not proceeding (but drawing Power) until the GUI gets opened manually by a Player - even when it is the same recepie it has proceeded before. Mentioned it in #314

@Dark-Arcana
Copy link
Collaborator

I'm working through the issues as time permits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants