GregTechCE / GregTech

GregTech rewrite for modern versions of Minecraft
GNU Lesser General Public License v3.0
268 stars 150 forks source link

Machines/Blocks going invisible #853

Closed TheFlash787 closed 3 years ago

TheFlash787 commented 5 years ago

Hey! We're having an issue where any machine or block from GregTech will go invisible randomly. This is not easily replicatable and I'm wondering if anybody else has experienced this. Thanks!

Modpack: Omnifactory Mod Version: 1.12.2-1.8.1.399

lafflam commented 5 years ago

Yes, I am investigating the same problem with all of the GTCE chests in the Infitech 3 modpack. I have not made any other GTCE machines yet. I am currently removing other mods one-by-one to see if there is a bad interaction between GTCE and some other mod, but so far I have not found a solution.

One thing I notice is that whenever I place a GTCE chest, there is a momentary lighting update on the affected block. It quickly flickers dark and then returns to normal. Neither vanilla chests nor any of the Iron Chests cause this flicker. Not sure if this is related to the invisibility.

Also, sometimes after restarting the server while looking at the invisible chest, when I log back in the chest is visible. I can open it and close it and it remains visible. I can place blocks between me and it so I cannot see it, then when I break the blocks I can still see it. It is only when I look away and then look back that it disappears.

Back in March, @sinopike mentioned that chests were going invisible, but I have not seen anyone else mention it yet. See: https://github.com/GregTechCE/GregTech/issues/621

I have also tested two newer versions of GTCE and the problem still exists.

Modpack: Infitech 3 Mod Version: 1.12.2-1.8.1.399 Forge: 14.23.5.2838 LWJGL2: 2.9.4-nightly-20150209

Archengius commented 5 years ago

Known issue; not fixable without reproduction steps

BorisMulder commented 5 years ago

I got this too, and when I try to remove an invisible block I get a crash with the following stacktrace:

java.lang.NullPointerException: Unexpected error
    at gregtech.common.render.FluidPipeRenderer.getPipeColor(FluidPipeRenderer.java:148)
    at gregtech.common.render.FluidPipeRenderer.getParticleTexture(FluidPipeRenderer.java:281)
    at gregtech.common.pipelike.fluidpipe.BlockFluidPipe.getParticleTexture(BlockFluidPipe.java:199)
    at gregtech.api.block.BlockCustomParticle.addHitEffects(BlockCustomParticle.java:39)
    at net.minecraft.client.particle.ParticleManager.addBlockHitEffects(ParticleManager.java:501)
    at net.minecraft.client.Minecraft.func_147115_a(Minecraft.java:1482)
    at net.minecraft.client.Minecraft.func_184117_aA(Minecraft.java:2268)
    at net.minecraft.client.Minecraft.func_184118_az(Minecraft.java:2020)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1808)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)
zbb5049 commented 5 years ago

Hello: I found a way to reproduce this: if you moving gregtech chests with items like trolley, they will disappear. breaking them with a pickaxe seems fine. I am playing FTB interaction. An interesting thing is that if you quit to title and reenter after doing above things, all gregtech machines will disappear.

Platinius commented 4 years ago

The chests are not invisible, their textures are being displaced 2019-11-03_15 59 37 2019-11-03_16 02 33 In my world this is caused by a casting channel from Tinkers' construct getting into my field of view (even if there are blocks in between). The channel has to be filled in order for the bug to occur. When I remove the channel afterwards the issue persists until I get about 70 Blocks away from the channel. 2019-11-03_16 07 47 2019-11-03_16 07 57 I just noticed that the displacement seems to be exactly the position of the casting channel relative to my player. So the vector from my player to the channel is used as a displacement for the chest texture. But the displacement stays constant whenever I look away from the channel or remove it.

Archengius commented 4 years ago

TiC issue. It doesn't bother with resetting BufferBuilder's translation after setting it.

Platinius commented 4 years ago

Something similar happens with the portal gun, also some kind of translation. Why can't GregTech reset it before use?

Archengius commented 4 years ago

because it's not my job to restore rendering pipeline state fucked up by other mods.

d-bahr commented 4 years ago

I have also reproduced this, same as the OP. Having some latency to the server helps repro.

I think the issue is related to a desync between client and server. After a block breaks on the client, sometimes a "tile.unnamed.name" block will briefly appear in its place until the client and server sync. If you break this unnamed block, then all of the GregTech machines will start having rendering issues. They are invisible in world and also transparent in the inventory, but all non-GregTech machines still render fine.

I have the best luck reproducing using LV energy hatches in a row, and just try to mine them back to back with a relatively fast pick (diamond or better).

It might be even easier to reproduce if it is possible to place a "tile.unnamed.name" in the world and then try to break it.

Edit: In my testing, I don't see any messages in the log when the issue reproduces.

GamesGamble commented 4 years ago

I used the Modpack Infitech 3 (with 128x Sphax Texturepack and Sphax Infitech 3 Texturepatch) and Optifine. When setting the Anisotropic Filtering or Antialiasing on, the GregtechCE Machines becomes invisible.

Akiraca commented 3 years ago

Same. No TiC/portal gun/Anisotropic Filtering/Antialiasing. Vanilla texture with Optfine and Shaders. GTCE machines still go invisible.

When become invisible, the log states "CCL has caught an exception whilst rendering a block"

Really, stop blaming other mods and start looking into the issue. It does impact the gameplay, a lot I would say.

lamoyrl90 commented 3 years ago

It's hard not to suspect Optifine of foul play here, and it's closed source. I wouldn't want to have to wade through the deobfuscated classes to try and figure out what interaction is to blame.

ChromaPIE commented 3 years ago

Surface rocks could cause CCL rendering error with any shaderpacks, making tile entities invisible or pure black. I disabled the generation of it and it's all fine to play gtce with shaderpacks

lamoyrl90 commented 3 years ago

RIP, still happens without Optifine. :(

CleanCutBloons commented 3 years ago

I have also reproduced this, same as the OP. Having some latency to the server helps repro.

I think the issue is related to a desync between client and server. After a block breaks on the client, sometimes a "tile.unnamed.name" block will briefly appear in its place until the client and server sync. If you break this unnamed block, then all of the GregTech machines will start having rendering issues. They are invisible in world and also transparent in the inventory, but all non-GregTech machines still render fine.

I have the best luck reproducing using LV energy hatches in a row, and just try to mine them back to back with a relatively fast pick (diamond or better).

It might be even easier to reproduce if it is possible to place a "tile.unnamed.name" in the world and then try to break it.

Edit: In my testing, I don't see any messages in the log when the issue reproduces.

I had the same issue while playing Omnifactory TPA from Technic. My LV CEF turned into a tile.unnamed.name, I broke it, and ever since, all Gregtech machines and some Gregtech items will alternate being visible and invisible, changing when I break one,

CleanCutBloons commented 3 years ago

Trying restarting the modpack.