Skip to content

Conversation

@Senthemodder
Copy link

so ...

The issue was that the oxygen bubble's visual effect, a semi-transparent blue sphere, was not being applied to blocks that were themselves transparent (like glass). This happened because of how Minecraft's rendering engine layers different types of graphics.

so i added:
- .setDepthTestState(new RenderStateShard.DepthTestStateShard("less", 513))
- .setTargetState(new RenderStateShard.TargetStateShard("translucent", () -> {}, () -> {}))

I also added a depth test to resolve some exiting errors in the shader. Should be good to go now.

…pe do not have a light blue tint applied when inside an oxygen bubble in the same way as other blocks.

The issue was that the oxygen bubble's visual effect, a semi-transparent blue sphere, was not being applied to blocks that were themselves transparent (like glass). This happened because of how Minecraft's rendering engine layers different types of graphics.

 SO ! By default, the bubble was rendered in the "translucent" layer. This layer is for things like water and stained glass. Objects in this layer are sorted by distance, but they don't write to or check against the main depth buffer, which is what tells the GPU what is in front of what on a per-pixel basis. As a result, when the bubble tried to render over a glass block, it didn't have the depth information to know it should be drawn "on top" of the glass, so the effect was lost.
NOTE : THIS DOESNT HAVE TEXTURES
@Roelymole
Copy link
Contributor

Please could you move the grappling hook implementation to a separate PR since it is unrelated to the oxygen bubble bugfix. In general, it is much better to try to keep each PR focused on a single task. This will make it quicker and easier for your code to be reviewed and merged, as well as reducing the chance of something being overlooked. Also, I imagine the oxygen bubble bugfix will be ready much sooner than the grappling hook implementation, so it would be nice not to have to wait unnecessarily.

Also, if you haven't done already could familiarise yourself with the contributing guidelines. In particular, it would be great if you could try to use the conventional commits style to write your commit messages and pull request titles, which should only be a small adjustment and take a few seconds extra.

@Roelymole
Copy link
Contributor

Also, it doesn't compile...

D:\Galacticraft\src\main\java\dev\galacticraft\mod\content\entity\GrappleHookEntity.java:36: error: GrappleHookEntity is not abstract and does not 
override abstract method defineSynchedData(Builder) in Entity
public class GrappleHookEntity extends Projectile {
       ^
D:\Galacticraft\src\main\java\dev\galacticraft\mod\content\entity\GrappleHookEntity.java:50: error: method does not override or implement a method 
from a supertype
    @Override
    ^
D:\Galacticraft\src\main\java\dev\galacticraft\mod\content\GCEntityTypes.java:164: error: cannot find symbol
    public static final EntityType<SkeletonBoss> SKELETON_BOSS = ENTITIES.register(Entity.EVOLVED_SKELETON_BOSS, EntityType.Builder.of(SkeletonBoss::new, MobCategory.MONSTER)
                                                                                         ^
  symbol:   variable EVOLVED_SKELETON_BOSS
  location: interface Entity

@Roelymole Roelymole marked this pull request as draft August 6, 2025 09:55
@Roelymole
Copy link
Contributor

Cherry-picking 14f4112 and d129799 (i.e. oxygen bubble commits only) just seems to make the oxygen bubbles invisible for me.

Did you definitely get this working?

@Senthemodder
Copy link
Author

I AM SO SORRY, I FORGOT TO COMMIT AND FELL ASLEEP OUT OF EXAUSTION, AAAAAA

@Senthemodder
Copy link
Author

compiles now

@Senthemodder
Copy link
Author

Screenshot 2025-08-06 182720 I FELL ASLEEP AAAAAAAA....i hate myself...

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

Successfully merging this pull request may close these issues.

2 participants