0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-20 01:12:13 +02:00

Make sure MobSpawnESP updates correctly when colors are changed

This commit is contained in:
Alexander01998 2024-09-12 07:56:25 +02:00
parent e9880e2000
commit 4143ad67e5
2 changed files with 26 additions and 11 deletions

View File

@ -73,6 +73,9 @@ public final class MobSpawnEspHack extends Hack
new ChunkVertexBufferCoordinator(this::isSpawnable, this::buildBuffer,
drawDistance);
private int cachedDayColor;
private int cachedNightColor;
public MobSpawnEspHack()
{
super("MobSpawnESP");
@ -90,6 +93,9 @@ public final class MobSpawnEspHack extends Hack
EVENTS.add(UpdateListener.class, this);
EVENTS.add(PacketInputListener.class, coordinator);
EVENTS.add(RenderListener.class, this);
cachedDayColor = dayColor.getColorI();
cachedNightColor = nightColor.getColorI();
}
@Override
@ -105,6 +111,14 @@ public final class MobSpawnEspHack extends Hack
@Override
public void onUpdate()
{
if(dayColor.getColorI() != cachedDayColor
|| nightColor.getColorI() != cachedNightColor)
{
cachedDayColor = dayColor.getColorI();
cachedNightColor = nightColor.getColorI();
coordinator.reset();
}
coordinator.update();
}
@ -193,16 +207,12 @@ public final class MobSpawnEspHack extends Hack
float z1 = pos.getZ() - region.z();
float z2 = z1 + 1;
float[] color = MC.world.getLightLevel(LightType.SKY, pos) < 8
? dayColor.getColorF() : nightColor.getColorF();
float r = color[0];
float g = color[1];
float b = color[2];
float a = 1;
int color = MC.world.getLightLevel(LightType.SKY, pos) < 8
? dayColor.getColorI() : nightColor.getColorI();
bufferBuilder.vertex(x1, y, z1).color(r, g, b, a);
bufferBuilder.vertex(x2, y, z2).color(r, g, b, a);
bufferBuilder.vertex(x2, y, z1).color(r, g, b, a);
bufferBuilder.vertex(x1, y, z2).color(r, g, b, a);
bufferBuilder.vertex(x1, y, z1).color(color);
bufferBuilder.vertex(x2, y, z2).color(color);
bufferBuilder.vertex(x2, y, z1).color(color);
bufferBuilder.vertex(x1, y, z2).color(color);
}
}

View File

@ -63,7 +63,12 @@ public final class ColorSetting extends Setting
public int getColorI()
{
return color.getRGB();
return color.getRGB() | 0xFF000000;
}
public int getColorI(int alpha)
{
return color.getRGB() & 0x00FFFFFF | alpha << 24;
}
public int getRed()