Skip to content

Commit 54c47ce

Browse files
Copilotrubensworks
andauthored
fix: use submitCustomGeometry for swirl so it renders in translucent pass (after solid wool)
Agent-Logs-Url: https://github.com/CyclopsMC/EnergeticSheep/sessions/1b3504a3-4425-43e8-bf04-97a5b70f64a3 Co-authored-by: rubensworks <440384+rubensworks@users.noreply.github.com>
1 parent f5fbea1 commit 54c47ce

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

loader-common/src/main/java/org/cyclops/energeticsheep/client/render/blockentity/ItemEnergeticWoolChargeSpecialRenderer.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import net.minecraft.client.model.geom.builders.LayerDefinition;
1313
import net.minecraft.client.model.geom.builders.MeshDefinition;
1414
import net.minecraft.client.model.geom.builders.PartDefinition;
15-
import net.minecraft.client.renderer.MultiBufferSource;
16-
import net.minecraft.client.renderer.Sheets;
1715
import net.minecraft.client.renderer.SubmitNodeCollector;
1816
import net.minecraft.client.renderer.rendertype.RenderType;
1917
import net.minecraft.client.renderer.rendertype.RenderTypes;
@@ -23,6 +21,7 @@
2321
import net.minecraft.resources.Identifier;
2422
import net.minecraft.world.level.Level;
2523
import org.cyclops.energeticsheep.Reference;
24+
import org.cyclops.energeticsheep.client.EnergeticSheepRenderTypes;
2625

2726
import java.util.function.Consumer;
2827

@@ -70,8 +69,14 @@ public void submit(PoseStack poseStack, SubmitNodeCollector collector, int light
7069
RenderType renderType = EnergeticSheepRenderTypes.energySwirlPreserveAlpha(CHARGE_TEXTURE, xOffset, yOffset);
7170
WoolChargeState state = new WoolChargeState();
7271
model.setupAnim(state);
73-
collector.order(1).submitModel(model, state, poseStack, renderType,
74-
lightCoords, OverlayTexture.NO_OVERLAY, -8355712, null, 0, null);
72+
// Use submitCustomGeometry so the swirl is submitted to the translucent pass (hasBlending=true),
73+
// which executes AFTER the solid wool geometry. This ensures the swirl renders on top of the wool
74+
// rather than being overwritten by it.
75+
collector.submitCustomGeometry(poseStack, renderType, (capturedPose, buffer) -> {
76+
PoseStack ps = new PoseStack();
77+
ps.last().set(capturedPose);
78+
model.renderToBuffer(ps, buffer, lightCoords, OverlayTexture.NO_OVERLAY, -8355712);
79+
});
7580
}
7681

7782
/**

0 commit comments

Comments
 (0)