boolean large = locker.isConnected();
if (large && !locker.isMain()) return;
int index = (locker.mirror ? 1 : 0);
ModelLocker model = (large ? largeLockerModel : lockerModel);
bindTexture(locker.getResource());
GL11.glPushMatrix();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
float angle = locker.prevLidAngle + (locker.lidAngle - locker.prevLidAngle) * partialTicks;
angle = 1.0F - angle;
angle = 1.0F - angle * angle * angle;
angle = angle * 90;
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
int rotation = DirectionUtils.getRotation(locker.getOrientation());
GL11.glRotatef(-rotation, 0.0F, 1.0F, 0.0F);
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
model.renderAll(locker.mirror, angle);
GL11.glPopMatrix();
if (locker.canHaveLock()) {
if (angle > 0) {