Skip to content

Commit b05fe6c

Browse files
committed
Fix ESP crashing with EntityCulling
closes #5779
1 parent 96c47b1 commit b05fe6c

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/main/java/meteordevelopment/meteorclient/mixin/EntityRenderStateMixin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import meteordevelopment.meteorclient.mixininterface.IEntityRenderState;
99
import net.minecraft.client.render.entity.state.EntityRenderState;
1010
import net.minecraft.entity.Entity;
11+
import org.jetbrains.annotations.Nullable;
1112
import org.spongepowered.asm.mixin.Mixin;
1213
import org.spongepowered.asm.mixin.Unique;
1314

@@ -17,6 +18,7 @@ public abstract class EntityRenderStateMixin implements IEntityRenderState {
1718
private Entity entity;
1819

1920
@Override
21+
@Nullable(value = "EntityCulling mod can prevent the code that sets the entity from running")
2022
public Entity meteor$getEntity() {
2123
return entity;
2224
}

src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererMixin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,12 @@ private void draw(WorldRenderState worldState, MatrixStack matrices, EntityShade
137137
var empty = true;
138138

139139
for (var state : worldState.entityRenderStates) {
140-
if (!shader.shouldDraw(((IEntityRenderState) state).meteor$getEntity())) continue;
140+
Entity entity = ((IEntityRenderState) state).meteor$getEntity();
141+
if (entity == null) continue;
141142

142-
var color = colorGetter.apply(((IEntityRenderState) state).meteor$getEntity());
143+
if (!shader.shouldDraw(entity)) continue;
144+
145+
var color = colorGetter.apply(entity);
143146
if (color == null) continue;
144147
outlineRenderCommandQueue.setColor(color);
145148

src/main/java/meteordevelopment/meteorclient/mixininterface/IEntityRenderState.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
package meteordevelopment.meteorclient.mixininterface;
77

88
import meteordevelopment.meteorclient.mixin.EntityRenderManagerMixin;
9-
import net.minecraft.client.render.VertexConsumerProvider;
10-
import net.minecraft.client.render.entity.EntityRenderer;
119
import net.minecraft.client.render.entity.state.EntityRenderState;
12-
import net.minecraft.client.util.math.MatrixStack;
1310
import net.minecraft.entity.Entity;
11+
import org.jetbrains.annotations.Nullable;
1412

1513
public interface IEntityRenderState {
1614
/**
@@ -25,6 +23,7 @@ public interface IEntityRenderState {
2523
*
2624
* @see EntityRenderManagerMixin#getAndUpdateRenderState$setEntity(EntityRenderState, Entity, float)
2725
*/
26+
@Nullable(value = "EntityCulling mod can prevent the code that sets the entity from running")
2827
Entity meteor$getEntity();
2928

3029
void meteor$setEntity(Entity entity);

0 commit comments

Comments
 (0)