public void renderItem(double x, double y, double z, TileMeltery meltery) {
// calculate x/z parameters
double x1 = meltery.getPos().getX();
double y1 = meltery.getPos().getY();
double z1 = meltery.getPos().getZ();
Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
RenderUtil.pre(x, y, z);
GlStateManager.translate(0.5,1/16d,0.5);
GlStateManager.disableCull();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
RenderHelper.enableStandardItemLighting();
int brightness = meltery.getWorld().getCombinedLight(meltery.getPos(), 0);
ItemStack stack = meltery.inventory.getStackInSlot(0);
boolean isItem = !(stack.getItem() instanceof ItemBlock);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) (brightness % 0x10000) / 1f,
(float) (brightness / 0x10000) / 1f);
if (isItem) {
GlStateManager.rotate(-90, 1, 0, 0);
} else {
GlStateManager.scale(0.5,0.5,0.5);
}
IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(stack, meltery.getWorld(), null);
model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.NONE, false);
Minecraft.getMinecraft().getRenderItem().renderItem(stack, model);
if (isItem) {
GlStateManager.rotate(90, 1, 0, 0);
}
RenderHelper.enableStandardItemLighting();
GlStateManager.enableCull();
RenderUtil.post();
}
RenderMeltery.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:Meltery
作者:
评论列表
文章目录