public void render() {
SpriteAPI mask = Global.getSettings().getSprite("holyGrail", "mask");
SpriteAPI spin = Global.getSettings().getSprite("holyGrail", "spin");
SpriteAPI spin2 = Global.getSettings().getSprite("holyGrail", "spin");
Vector2f loc = ship.getLocation();
Vector2f computePosition = anchorSlot.computePosition(ship);
Vector2f spinPosition = MathUtils.getPointOnCircumference(computePosition, 60f, ship.getFacing());
mask.setAngle(ship.getFacing() - 90f);
float rotate1 = ship.getFacing() - 90f + spinRotation;
float rotate2 = ship.getFacing() - 90f - spinRotation;
float w = ship.getCollisionRadius() * 2f;
float h = w;
GL11.glColorMask(false, false, false, true);
GL11.glPushMatrix();
GL11.glTranslatef(loc.x, loc.y, 0);
Misc.renderQuadAlpha(0 - w / 2f - 1f, 0 - h / 2f - 1f, w + 2f, h + 2f, Misc.zeroColor, 0f);
GL11.glPopMatrix();
spin.setAngle(rotate1);
spin.renderAtCenter(spinPosition.x, spinPosition.y);
mask.setBlendFunc(GL11.GL_ZERO, GL11.GL_ONE_MINUS_SRC_ALPHA);
mask.renderAtCenter(computePosition.x, computePosition.y);
GL11.glColorMask(true, true, true, false);
spin.setBlendFunc(GL11.GL_DST_ALPHA, GL11.GL_ONE_MINUS_DST_ALPHA);
spin.setAngle(rotate1);
spin.setColor(new Color(100, 100, 100));
spin.renderAtCenter(spinPosition.x, spinPosition.y);
GL11.glColorMask(false, false, false, true);
GL11.glPushMatrix();
GL11.glTranslatef(loc.x, loc.y, 0);
Misc.renderQuadAlpha(0 - w / 2f - 1f, 0 - h / 2f - 1f, w + 2f, h + 2f, Misc.zeroColor, 0f);
GL11.glPopMatrix();
spin2.setAngle(rotate2);
spin2.renderAtCenter(spinPosition.x, spinPosition.y);
mask.setBlendFunc(GL11.GL_ZERO, GL11.GL_ONE_MINUS_SRC_ALPHA);
mask.renderAtCenter(computePosition.x, computePosition.y);
GL11.glColorMask(true, true, true, false);
spin2.setBlendFunc(GL11.GL_DST_ALPHA, GL11.GL_ONE_MINUS_DST_ALPHA);
spin2.setAngle(rotate2);
spin2.renderAtCenter(spinPosition.x, spinPosition.y);
}