Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.doodle.client;
- import com.doodle.client.model.SpearModel;
- import com.mojang.blaze3d.vertex.PoseStack;
- import com.mojang.blaze3d.vertex.VertexConsumer;
- import init.ModItems;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.model.geom.EntityModelSet;
- import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
- import net.minecraft.client.renderer.MultiBufferSource;
- import net.minecraft.client.renderer.entity.ItemRenderer;
- import net.minecraft.server.packs.resources.ResourceManager;
- import net.minecraft.world.item.ItemDisplayContext;
- import net.minecraft.world.item.ItemStack;
- import org.jetbrains.annotations.NotNull;
- public class ModItemRenderer extends BlockEntityWithoutLevelRenderer {
- private SpearModel spearModel;
- private final EntityModelSet entityModelSet;
- public ModItemRenderer() {
- super(Minecraft.getInstance().getBlockEntityRenderDispatcher(), Minecraft.getInstance().getEntityModels());
- this.entityModelSet = Minecraft.getInstance().getEntityModels();
- }
- public void onResourceManagerReload(@NotNull ResourceManager resourceManager) {
- this.spearModel = new SpearModel(this.entityModelSet.bakeLayer(SpearModel.LAYER_LOCATION));
- }
- @Override
- public void renderByItem(ItemStack stack, ItemDisplayContext context, PoseStack pose, MultiBufferSource source, int light, int overlay) {
- if (stack.is(ModItems.NETHERITE_SPEAR.get())) {
- pose.pushPose();
- pose.scale(1.0F, -1.0F, -1.0F);
- VertexConsumer consumer = ItemRenderer.getFoilBufferDirect(source, this.spearModel.renderType(SpearModel.TEXTURE), false, stack.hasFoil());
- pose.popPose();
- }
- }
- }
Add Comment
Please, Sign In to add comment