diff --git a/client/src/main/java/client/renderer/entity/RenderXp.java b/client/src/main/java/client/renderer/entity/RenderXp.java index 9159e32b..13e27d5a 100755 --- a/client/src/main/java/client/renderer/entity/RenderXp.java +++ b/client/src/main/java/client/renderer/entity/RenderXp.java @@ -34,13 +34,14 @@ public class RenderXp extends Render { int sky = light / 65536; GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)block / 1.0F, (float)sky / 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F); - float color = ((float)entity.xpColor + partial) / 2.0F; - int r = (int)((ExtMath.sin(color + 0.0F) + 1.0F) * 0.5F * 255.0F); - int g = 255; - int b = (int)((ExtMath.sin(color + 4.1887903F) + 1.0F) * 0.1F * 255.0F); + float color = ((float)entity.xpColor + partial) / 16.0F; + int g = (int)((ExtMath.sin(color + 0.0F) + 1.0F) * 0.5F * 255.0F); + float n = (int)((ExtMath.sin(color + (float)Math.PI) + 1.0F) * 0.5F * 255.0F); + int r = (int)(n * (value / 10.0f)); + int b = (int)(n * ((10 - value) / 10.0f)); GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - float size = 0.3F; + float size = 0.25F; GL11.glScalef(size, size, size); RenderBuffer rb = Tessellator.getBuffer(); rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL); diff --git a/common/src/main/java/common/entity/item/EntityXp.java b/common/src/main/java/common/entity/item/EntityXp.java index 20afb010..e9edd9fc 100755 --- a/common/src/main/java/common/entity/item/EntityXp.java +++ b/common/src/main/java/common/entity/item/EntityXp.java @@ -22,7 +22,7 @@ public class EntityXp extends Entity implements IObjectData /** * A constantly increasing value that RenderXPOrb uses to control the colour shifting (Green / yellow) */ - public int xpColor; + public int xpColor = this.rand.zrange(1000); /** The age of the XP orb in ticks. */ public int xpOrbAge;