2018-10-16 11:49:30 +02:00
|
|
|
package de.ellpeck.naturesaura.blocks.tiles.render;
|
|
|
|
|
2021-12-15 14:26:42 +01:00
|
|
|
import com.mojang.blaze3d.vertex.PoseStack;
|
2023-07-08 12:32:27 +02:00
|
|
|
import com.mojang.math.Axis;
|
2021-12-04 15:40:09 +01:00
|
|
|
import de.ellpeck.naturesaura.blocks.tiles.BlockEntityWoodStand;
|
2020-01-29 18:18:41 +01:00
|
|
|
import net.minecraft.client.Minecraft;
|
2021-12-15 14:26:42 +01:00
|
|
|
import net.minecraft.client.renderer.MultiBufferSource;
|
|
|
|
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
|
|
|
|
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
|
|
|
import net.minecraft.world.item.BlockItem;
|
2023-07-08 12:32:27 +02:00
|
|
|
import net.minecraft.world.item.ItemDisplayContext;
|
2018-10-16 11:49:30 +02:00
|
|
|
|
2021-12-15 14:26:42 +01:00
|
|
|
public class RenderWoodStand implements BlockEntityRenderer<BlockEntityWoodStand> {
|
|
|
|
|
|
|
|
public RenderWoodStand(BlockEntityRendererProvider.Context context) {
|
2020-01-21 23:02:39 +01:00
|
|
|
|
2020-01-28 18:08:56 +01:00
|
|
|
}
|
|
|
|
|
2018-10-16 11:49:30 +02:00
|
|
|
@Override
|
2021-12-15 14:26:42 +01:00
|
|
|
public void render(BlockEntityWoodStand tileEntityWoodStand, float v, PoseStack matrixStack, MultiBufferSource iRenderTypeBuffer, int i, int i1) {
|
2021-12-15 16:30:22 +01:00
|
|
|
var stack = tileEntityWoodStand.items.getStackInSlot(0);
|
2018-10-16 11:49:30 +02:00
|
|
|
if (!stack.isEmpty()) {
|
2021-12-15 14:26:42 +01:00
|
|
|
matrixStack.pushPose();
|
2021-12-15 16:30:22 +01:00
|
|
|
var item = stack.getItem();
|
2023-07-08 12:32:27 +02:00
|
|
|
if (item instanceof BlockItem blockItem && blockItem.getBlock().defaultBlockState().isSolid()) {
|
2020-05-12 02:15:18 +02:00
|
|
|
matrixStack.translate(0.5F, 0.755F, 0.5F);
|
2021-12-15 16:30:22 +01:00
|
|
|
var scale = 0.95F;
|
2020-01-29 18:18:41 +01:00
|
|
|
matrixStack.scale(scale, scale, scale);
|
2018-10-17 18:41:53 +02:00
|
|
|
} else {
|
2020-05-12 02:15:18 +02:00
|
|
|
matrixStack.translate(0.5F, 0.825F, 0.4F);
|
2021-12-15 16:30:22 +01:00
|
|
|
var scale = 0.75F;
|
2020-01-29 18:18:41 +01:00
|
|
|
matrixStack.scale(scale, scale, scale);
|
2023-07-08 12:32:27 +02:00
|
|
|
matrixStack.mulPose(Axis.XP.rotationDegrees(90));
|
2018-10-17 18:41:53 +02:00
|
|
|
}
|
2023-07-08 12:32:27 +02:00
|
|
|
Minecraft.getInstance().getItemRenderer().renderStatic(stack, ItemDisplayContext.GROUND, i, i1, matrixStack, iRenderTypeBuffer, tileEntityWoodStand.getLevel(), 0);
|
2021-12-15 14:26:42 +01:00
|
|
|
matrixStack.popPose();
|
2018-10-16 11:49:30 +02:00
|
|
|
}
|
2020-01-29 18:18:41 +01:00
|
|
|
}
|
2018-10-16 11:49:30 +02:00
|
|
|
}
|