AnvilRenderer.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.hexdragon.enchrebirth.block.anvil;
  2. import com.mojang.blaze3d.matrix.MatrixStack;
  3. import net.minecraft.block.BlockState;
  4. import net.minecraft.block.Blocks;
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.client.renderer.BlockRendererDispatcher;
  7. import net.minecraft.client.renderer.IRenderTypeBuffer;
  8. import net.minecraft.client.renderer.ItemRenderer;
  9. import net.minecraft.client.renderer.model.IBakedModel;
  10. import net.minecraft.client.renderer.model.ItemCameraTransforms;
  11. import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
  12. import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
  13. import net.minecraft.item.ItemStack;
  14. import net.minecraft.item.Items;
  15. import net.minecraftforge.client.model.data.EmptyModelData;
  16. public class AnvilRenderer extends TileEntityRenderer<AnvilTileEntity> {
  17. public AnvilRenderer(TileEntityRendererDispatcher rendererDispatcherIn) { super(rendererDispatcherIn); }
  18. @Override public void render(AnvilTileEntity tileEntityIn, float partialTicks, MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int combinedLightIn, int combinedOverlayIn) {
  19. matrixStackIn.push();
  20. matrixStackIn.translate(1, 0, 0);
  21. BlockRendererDispatcher blockRenderer = Minecraft.getInstance().getBlockRendererDispatcher();
  22. BlockState state = Blocks.CHEST.getDefaultState();
  23. blockRenderer.renderBlock(state, matrixStackIn, bufferIn, combinedLightIn, combinedOverlayIn, EmptyModelData.INSTANCE);
  24. matrixStackIn.pop();
  25. matrixStackIn.push();
  26. matrixStackIn.translate(0, 1, 0);
  27. ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
  28. ItemStack stack = new ItemStack(Items.DIAMOND);
  29. IBakedModel ibakedmodel = itemRenderer.getItemModelWithOverrides(stack, tileEntityIn.getWorld(), null);
  30. itemRenderer.renderItem(stack, ItemCameraTransforms.TransformType.FIXED, true, matrixStackIn, bufferIn, combinedLightIn, combinedOverlayIn, ibakedmodel);
  31. matrixStackIn.pop();
  32. }
  33. }