public void renderSkull(
      float p_180543_1_,
      float p_180543_2_,
      float p_180543_3_,
      EnumFacing p_180543_4_,
      float p_180543_5_,
      int p_180543_6_,
      GameProfile p_180543_7_,
      int p_180543_8_) {
    ModelBase modelbase = this.skeletonHead;

    if (p_180543_8_ >= 0) {
      this.bindTexture(DESTROY_STAGES[p_180543_8_]);
      GlStateManager.matrixMode(5890);
      GlStateManager.pushMatrix();
      GlStateManager.scale(4.0F, 2.0F, 1.0F);
      GlStateManager.translate(0.0625F, 0.0625F, 0.0625F);
      GlStateManager.matrixMode(5888);
    } else {
      switch (p_180543_6_) {
        case 0:
        default:
          this.bindTexture(SKELETON_TEXTURES);
          break;
        case 1:
          this.bindTexture(WITHER_SKELETON_TEXTURES);
          break;
        case 2:
          this.bindTexture(ZOMBIE_TEXTURES);
          modelbase = this.humanoidHead;
          break;
        case 3:
          modelbase = this.humanoidHead;
          ResourceLocation resourcelocation = DefaultPlayerSkin.getDefaultSkinLegacy();

          if (p_180543_7_ != null) {
            Minecraft minecraft = Minecraft.getMinecraft();
            Map<Type, MinecraftProfileTexture> map =
                minecraft.getSkinManager().loadSkinFromCache(p_180543_7_);

            if (map.containsKey(Type.SKIN)) {
              resourcelocation =
                  minecraft
                      .getSkinManager()
                      .loadSkin((MinecraftProfileTexture) map.get(Type.SKIN), Type.SKIN);
            } else {
              UUID uuid = EntityPlayer.getUUID(p_180543_7_);
              resourcelocation = DefaultPlayerSkin.getDefaultSkin(uuid);
            }
          }

          this.bindTexture(resourcelocation);
          break;
        case 4:
          this.bindTexture(CREEPER_TEXTURES);
      }
    }

    GlStateManager.pushMatrix();
    GlStateManager.disableCull();

    if (p_180543_4_ != EnumFacing.UP) {
      switch (p_180543_4_) {
        case NORTH:
          GlStateManager.translate(p_180543_1_ + 0.5F, p_180543_2_ + 0.25F, p_180543_3_ + 0.74F);
          break;
        case SOUTH:
          GlStateManager.translate(p_180543_1_ + 0.5F, p_180543_2_ + 0.25F, p_180543_3_ + 0.26F);
          p_180543_5_ = 180.0F;
          break;
        case WEST:
          GlStateManager.translate(p_180543_1_ + 0.74F, p_180543_2_ + 0.25F, p_180543_3_ + 0.5F);
          p_180543_5_ = 270.0F;
          break;
        case EAST:
        default:
          GlStateManager.translate(p_180543_1_ + 0.26F, p_180543_2_ + 0.25F, p_180543_3_ + 0.5F);
          p_180543_5_ = 90.0F;
      }
    } else {
      GlStateManager.translate(p_180543_1_ + 0.5F, p_180543_2_, p_180543_3_ + 0.5F);
    }

    float f = 0.0625F;
    GlStateManager.enableRescaleNormal();
    GlStateManager.scale(-1.0F, -1.0F, 1.0F);
    GlStateManager.enableAlpha();
    modelbase.render((Entity) null, 0.0F, 0.0F, 0.0F, p_180543_5_, 0.0F, f);
    GlStateManager.popMatrix();

    if (p_180543_8_ >= 0) {
      GlStateManager.matrixMode(5890);
      GlStateManager.popMatrix();
      GlStateManager.matrixMode(5888);
    }
  }