@@ -0,0 +1,2361 @@
+package reborncore.mixin.client;%0A%0Aimport com.mojang.blaze3d.platform.GlStateManager;%0Aimport net.minecraft.client.font.TextRenderer;%0Aimport net.minecraft.client.render.BufferBuilder;%0Aimport net.minecraft.client.render.Tessellator;%0Aimport net.minecraft.client.render.item.ItemRenderer;%0Aimport net.minecraft.item.ItemStack;%0Aimport org.spongepowered.asm.mixin.Mixin;%0Aimport org.spongepowered.asm.mixin.Shadow;%0Aimport org.spongepowered.asm.mixin.injection.At;%0Aimport org.spongepowered.asm.mixin.injection.Inject;%0Aimport org.spongepowered.asm.mixin.injection.callback.CallbackInfo;%0Aimport reborncore.common.util.ItemDurabilityExtensions;%0A%0Aimport javax.annotation.Nullable;%0A%0A//Not too happy with this, need to find and get a better solution into fabric soon%0A@Mixin(ItemRenderer.class)%0Apublic abstract class MixinItemRenderer %7B%0A%0A%09@Shadow protected abstract void renderGuiQuad(BufferBuilder bufferBuilder_1, int int_1, int int_2, int int_3, int int_4, int int_5, int int_6, int int_7, int int_8);%0A%0A%09@Inject(method = %22renderGuiItemOverlay(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V%22, at = @At(%22HEAD%22))%0A%09private void renderGuiItemOverlay(TextRenderer textRenderer, ItemStack stack, int x, int y, @Nullable String string, CallbackInfo info) %7B%0A%09%09if (stack.getItem() instanceof ItemDurabilityExtensions) %7B%0A%09%09%09ItemDurabilityExtensions durabilityExtensions = (ItemDurabilityExtensions) stack.getItem();%0A%09%09%09if(!durabilityExtensions.showDurability(stack))%7B%0A%09%09%09%09return;%0A%09%09%09%7D%0A%09%09%09GlStateManager.disableLighting();%0A%09%09%09GlStateManager.disableDepthTest();%0A%09%09%09GlStateManager.disableTexture();%0A%09%09%09GlStateManager.disableAlphaTest();%0A%09%09%09GlStateManager.disableBlend();%0A%0A%09%09%09Tessellator tessellator = Tessellator.getInstance();%0A%09%09%09BufferBuilder bufferBuilder = tessellator.getBufferBuilder();%0A%0A%0A%09%09%09int durability = (int) (13 * (1 - Math.max(0.0F, durabilityExtensions.getDurability(stack))));%0A%09%09%09int color = durabilityExtensions.getDurabilityColor(stack);%0A%0A%09%09%09this.renderGuiQuad(bufferBuilder, x + 2, y + 13, 13, 2, 0, 0, 0, 255);%0A%09%09%09this.renderGuiQuad(bufferBuilder, x + 2, y + 13, durability, 1, color %3E%3E 16 & 255, color %3E%3E 8 & 255, color & 255, 255);%0A%0A%09%09%09GlStateManager.enableBlend();%0A%09%09%09GlStateManager.enableAlphaTest();%0A%09%09%09GlStateManager.enableTexture();%0A%09%09%09GlStateManager.enableLighting();%0A%09%09%09GlStateManager.enableDepthTest();%0A%09%09%7D%0A%09%7D%0A%0A%7D%0A

Add MixinItemRenderer, thanks idea.