NaturesAura/src/main/java/de/ellpeck/naturesaura/blocks/tiles/render/RenderWoodStand.java

42 lines
1.8 KiB
Java
Raw Normal View History

2018-10-16 11:49:30 +02:00
package de.ellpeck.naturesaura.blocks.tiles.render;
2020-01-28 18:08:56 +01:00
import com.mojang.blaze3d.matrix.MatrixStack;
2018-10-16 11:49:30 +02:00
import de.ellpeck.naturesaura.blocks.tiles.TileEntityWoodStand;
import net.minecraft.client.Minecraft;
2020-01-28 18:08:56 +01:00
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.model.ItemCameraTransforms;
2019-10-20 22:30:49 +02:00
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
2020-01-28 18:08:56 +01:00
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
2020-09-22 03:17:02 +02:00
import net.minecraft.util.math.vector.Vector3f;
2018-10-16 11:49:30 +02:00
2019-10-20 22:30:49 +02:00
public class RenderWoodStand extends TileEntityRenderer<TileEntityWoodStand> {
2020-01-21 23:02:39 +01:00
2020-01-28 18:08:56 +01:00
public RenderWoodStand(TileEntityRendererDispatcher disp) {
super(disp);
}
2018-10-16 11:49:30 +02:00
@Override
2020-01-28 18:08:56 +01:00
public void render(TileEntityWoodStand tileEntityWoodStand, float v, MatrixStack matrixStack, IRenderTypeBuffer iRenderTypeBuffer, int i, int i1) {
ItemStack stack = tileEntityWoodStand.items.getStackInSlot(0);
2018-10-16 11:49:30 +02:00
if (!stack.isEmpty()) {
matrixStack.push();
2018-10-19 15:05:12 +02:00
Item item = stack.getItem();
if (item instanceof BlockItem && ((BlockItem) item).getBlock().getDefaultState().getMaterial().isSolid()) {
matrixStack.translate(0.5F, 0.755F, 0.5F);
float scale = 0.95F;
matrixStack.scale(scale, scale, scale);
} else {
matrixStack.translate(0.5F, 0.825F, 0.4F);
float scale = 0.75F;
matrixStack.scale(scale, scale, scale);
matrixStack.rotate(Vector3f.XP.rotationDegrees(90));
}
Minecraft.getInstance().getItemRenderer().renderItem(stack, ItemCameraTransforms.TransformType.GROUND, i, i1, matrixStack, iRenderTypeBuffer);
matrixStack.pop();
2018-10-16 11:49:30 +02:00
}
}
2018-10-16 11:49:30 +02:00
}