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

Blibliocraft Painting Press Issue on MC: Eternal and Tekxit 3.14 PI servers #18

Open
AdventureG147 opened this issue May 25, 2023 · 2 comments

Comments

@AdventureG147
Copy link

So recently a player on an MC: Eternal server was flying around the world (Overworld), and suddenly crashed. They had told the staff team that they needed a player data wipe again, cause they couldnt log back on, providing a log file. The crash seemed to have happened because of a painting press block. The painting press seems to not only corrupt player data, but also the chunk entirely, possibly the server aswell if that chunk was to be loaded. I spoke first to the MCE developers about it, and they were not aware of this problem. The only way that the owner of the server had thought to fix this problem was to either wipe the region file or use something like MC Editor to remove the block. Both of which would take quite a long time ( about 45 minutes using MC Editor, and having to extract the world again, and placing it into the server). The MCE admins had suggested they (the owner) could load a backup of that region / world, however since this was inside of a player's base who had likely quit long ago, unloading the chunk for a long time, they would not know how old the base is, and thus couldnt make a backup to before the painting press was made.

here is the crash log that was provided to them:
crash-2023-05-24_22.09.51-client.txt

@AdventureG147
Copy link
Author

I have noticed that the block is a tile entity, why is that?

@SkyyWasTaken
Copy link

SkyyWasTaken commented May 29, 2024

Looked into this a bit. For one reason or another, it looks like custom paintings aren't ever loaded here. Unsure how that could happen; texture stitiching and resource loading aren't exactly my expertise. Looks like this server also had some other coremods that could have changed things a bit.

All of that being said, the error occurs when trying to render a painting on the painting press. It doesn't necessarily address the root cause, but maybe just checking if the paintings are null on lline 110 and not rendering a painting is acceptable?

Code in question, exception is on line 114. Didn't see exact exception type, but it's relatively safe to say it's a NPE

else if (press.getPaintingType() == 2)
{
GlStateManager.pushMatrix();
GlStateManager.disableLighting();
for (int i = 0; i < PaintingUtil.customArtNames.length; i++)
{
if (this.paintingTitle.contentEquals(PaintingUtil.customArtNames[i]))
{
bindTexture(PaintingUtil.customArtResources[i]);
drawCustomPainting(x, y, z, i);
}
}
GlStateManager.enableLighting();
GlStateManager.popMatrix();
}
else
{
renderPart(canvas, 1.0, 0.0, 0.0, 0.0f);
}

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

2 participants