Skip to content

Commit 8399fa6

Browse files
committed
arrow layer fix
1 parent f589708 commit 8399fa6

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package org.polyfrost.polyhitbox.mixin;
2+
3+
import net.minecraft.client.renderer.entity.layers.LayerArrow;
4+
import net.minecraft.entity.EntityLivingBase;
5+
import org.polyfrost.polyhitbox.render.HitboxRenderer;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
11+
@Mixin(LayerArrow.class)
12+
public class LayerArrowMixin {
13+
14+
@Inject(method = "doRenderLayer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/RenderHelper;disableStandardItemLighting()V"))
15+
private void start(EntityLivingBase entitylivingbaseIn, float f, float g, float partialTicks, float h, float i, float j, float scale, CallbackInfo ci) {
16+
HitboxRenderer.INSTANCE.setDrawingLayer(true);
17+
}
18+
19+
@Inject(method = "doRenderLayer", at = @At(value = "TAIL"))
20+
private void end(EntityLivingBase entitylivingbaseIn, float f, float g, float partialTicks, float h, float i, float j, float scale, CallbackInfo ci) {
21+
HitboxRenderer.INSTANCE.setDrawingLayer(false);
22+
}
23+
24+
}

src/main/kotlin/org/polyfrost/polyhitbox/render/HitboxRenderer.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats
77
import net.minecraft.entity.Entity
88
import net.minecraft.util.AxisAlignedBB
99
import net.minecraft.util.MovingObjectPosition
10-
import net.minecraftforge.client.event.RenderWorldLastEvent
11-
import net.minecraftforge.common.MinecraftForge
12-
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
1310
import org.lwjgl.opengl.GL11
1411
import org.polyfrost.polyhitbox.config.HitboxConfig
1512
import org.polyfrost.polyhitbox.config.ModConfig
@@ -26,6 +23,8 @@ object HitboxRenderer {
2623

2724
var drawingWorld = false
2825

26+
var drawingLayer = false
27+
2928
fun onRender() {
3029
if (!ModConfig.enabled) return
3130
if (renderQueue.isEmpty()) return
@@ -46,7 +45,7 @@ object HitboxRenderer {
4645
}
4746

4847
fun tryAddToQueue(config: HitboxConfig, entity: Entity, x: Double, y: Double, z: Double, partialTicks: Float) {
49-
if (drawingWorld) {
48+
if (drawingWorld && !drawingLayer) {
5049
renderQueue.add(RenderInfo(config, entity, x, y, z, partialTicks))
5150
} else {
5251
renderHitbox(config, entity, x, y, z, partialTicks)

src/main/resources/mixins.polyhitbox.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"EntityMixin",
99
"EntityRendererMixin",
1010
"GuiInventoryMixin",
11+
"LayerArrowMixin",
1112
"RenderManagerMixin"
1213
]
1314
}

0 commit comments

Comments
 (0)