mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 10:06:11 +03:00
122 lines
6.4 KiB
Diff
122 lines
6.4 KiB
Diff
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderItem.java
|
|
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderItem.java
|
|
@@ -71,7 +71,7 @@
|
|
public RenderItem(TextureManager p_i46552_1_, ModelManager p_i46552_2_, ItemColors p_i46552_3_)
|
|
{
|
|
this.textureManager = p_i46552_1_;
|
|
- this.itemModelMesher = new ItemModelMesher(p_i46552_2_);
|
|
+ this.itemModelMesher = new net.minecraftforge.client.ItemModelMesherForge(p_i46552_2_);
|
|
this.registerItems();
|
|
this.itemColors = p_i46552_3_;
|
|
}
|
|
@@ -137,7 +137,7 @@
|
|
{
|
|
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
|
GlStateManager.enableRescaleNormal();
|
|
- TileEntityItemStackRenderer.instance.renderByItem(stack);
|
|
+ stack.getItem().getTileEntityItemStackRenderer().renderByItem(stack);
|
|
}
|
|
else
|
|
{
|
|
@@ -196,7 +196,7 @@
|
|
this.putQuadNormal(renderer, quad);
|
|
}
|
|
|
|
- public void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack)
|
|
+ private void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack)
|
|
{
|
|
boolean flag = color == -1 && !stack.isEmpty();
|
|
int i = 0;
|
|
@@ -218,7 +218,7 @@
|
|
k = k | -16777216;
|
|
}
|
|
|
|
- this.renderQuad(renderer, bakedquad, k);
|
|
+ net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(renderer, bakedquad, k);
|
|
}
|
|
}
|
|
|
|
@@ -240,17 +240,7 @@
|
|
public IBakedModel getItemModelWithOverrides(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entitylivingbaseIn)
|
|
{
|
|
IBakedModel ibakedmodel = this.itemModelMesher.getItemModel(stack);
|
|
- Item item = stack.getItem();
|
|
-
|
|
- if (item != null && item.hasCustomProperties())
|
|
- {
|
|
- ResourceLocation resourcelocation = ibakedmodel.getOverrides().applyOverride(stack, worldIn, entitylivingbaseIn);
|
|
- return resourcelocation == null ? ibakedmodel : this.itemModelMesher.getModelManager().getModel(new ModelResourceLocation(resourcelocation, "inventory"));
|
|
- }
|
|
- else
|
|
- {
|
|
- return ibakedmodel;
|
|
- }
|
|
+ return ibakedmodel.getOverrides().handleItemState(ibakedmodel, stack, worldIn, entitylivingbaseIn);
|
|
}
|
|
|
|
public void renderItem(ItemStack stack, EntityLivingBase entitylivingbaseIn, ItemCameraTransforms.TransformType transform, boolean leftHanded)
|
|
@@ -274,14 +264,9 @@
|
|
GlStateManager.enableBlend();
|
|
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
|
|
GlStateManager.pushMatrix();
|
|
- ItemCameraTransforms itemcameratransforms = bakedmodel.getItemCameraTransforms();
|
|
- ItemCameraTransforms.applyTransformSide(itemcameratransforms.getTransform(transform), leftHanded);
|
|
+ // TODO: check if negative scale is a thing
|
|
+ bakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(bakedmodel, transform, leftHanded);
|
|
|
|
- if (this.isThereOneNegativeScale(itemcameratransforms.getTransform(transform)))
|
|
- {
|
|
- GlStateManager.cullFace(GlStateManager.CullFace.FRONT);
|
|
- }
|
|
-
|
|
this.renderItem(stack, bakedmodel);
|
|
GlStateManager.cullFace(GlStateManager.CullFace.BACK);
|
|
GlStateManager.popMatrix();
|
|
@@ -314,7 +299,7 @@
|
|
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
|
|
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
|
this.setupGuiTransform(x, y, bakedmodel.isGui3d());
|
|
- bakedmodel.getItemCameraTransforms().applyTransform(ItemCameraTransforms.TransformType.GUI);
|
|
+ bakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(bakedmodel, ItemCameraTransforms.TransformType.GUI, false);
|
|
this.renderItem(stack, bakedmodel);
|
|
GlStateManager.disableAlpha();
|
|
GlStateManager.disableRescaleNormal();
|
|
@@ -413,9 +398,12 @@
|
|
fr.drawStringWithShadow(s, (float)(xPosition + 19 - 2 - fr.getStringWidth(s)), (float)(yPosition + 6 + 3), 16777215);
|
|
GlStateManager.enableLighting();
|
|
GlStateManager.enableDepth();
|
|
+ // Fixes opaque cooldown overlay a bit lower
|
|
+ // TODO: check if enabled blending still screws things up down the line.
|
|
+ GlStateManager.enableBlend();
|
|
}
|
|
|
|
- if (stack.isItemDamaged())
|
|
+ if (stack.getItem().showDurabilityBar(stack))
|
|
{
|
|
GlStateManager.disableLighting();
|
|
GlStateManager.disableDepth();
|
|
@@ -424,11 +412,10 @@
|
|
GlStateManager.disableBlend();
|
|
Tessellator tessellator = Tessellator.getInstance();
|
|
BufferBuilder bufferbuilder = tessellator.getBuffer();
|
|
- float f = (float)stack.getItemDamage();
|
|
- float f1 = (float)stack.getMaxDamage();
|
|
- float f2 = Math.max(0.0F, (f1 - f) / f1);
|
|
- int i = Math.round(13.0F - f * 13.0F / f1);
|
|
- int j = MathHelper.hsvToRGB(f2 / 3.0F, 1.0F, 1.0F);
|
|
+ double health = stack.getItem().getDurabilityForDisplay(stack);
|
|
+ int rgbfordisplay = stack.getItem().getRGBDurabilityForDisplay(stack);
|
|
+ int i = Math.round(13.0F - (float)health * 13.0F);
|
|
+ int j = rgbfordisplay;
|
|
this.draw(bufferbuilder, xPosition + 2, yPosition + 13, 13, 2, 0, 0, 0, 255);
|
|
this.draw(bufferbuilder, xPosition + 2, yPosition + 13, i, 1, j >> 16 & 255, j >> 8 & 255, j & 255, 255);
|
|
GlStateManager.enableBlend();
|
|
@@ -1099,6 +1086,7 @@
|
|
this.registerBlock(Blocks.STRUCTURE_BLOCK, TileEntityStructure.Mode.LOAD.getModeId(), "structure_block");
|
|
this.registerBlock(Blocks.STRUCTURE_BLOCK, TileEntityStructure.Mode.CORNER.getModeId(), "structure_block");
|
|
this.registerBlock(Blocks.STRUCTURE_BLOCK, TileEntityStructure.Mode.DATA.getModeId(), "structure_block");
|
|
+ net.minecraftforge.client.model.ModelLoader.onRegisterItems(this.itemModelMesher);
|
|
}
|
|
|
|
public void onResourceManagerReload(IResourceManager resourceManager)
|