Spaces:
Build error
Build error
File size: 2,367 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
package net.minecraft.client.renderer.entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.minecraft.client.model.EvokerFangsModel;
import net.minecraft.client.model.geom.ModelLayers;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.entity.state.EvokerFangsRenderState;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.projectile.EvokerFangs;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class EvokerFangsRenderer extends EntityRenderer<EvokerFangs, EvokerFangsRenderState> {
private static final ResourceLocation TEXTURE_LOCATION = ResourceLocation.withDefaultNamespace("textures/entity/illager/evoker_fangs.png");
private final EvokerFangsModel model;
public EvokerFangsRenderer(EntityRendererProvider.Context p_174100_) {
super(p_174100_);
this.model = new EvokerFangsModel(p_174100_.bakeLayer(ModelLayers.EVOKER_FANGS));
}
public void render(EvokerFangsRenderState p_368442_, PoseStack p_114522_, MultiBufferSource p_114523_, int p_114524_) {
float f = p_368442_.biteProgress;
if (f != 0.0F) {
p_114522_.pushPose();
p_114522_.mulPose(Axis.YP.rotationDegrees(90.0F - p_368442_.yRot));
p_114522_.scale(-1.0F, -1.0F, 1.0F);
p_114522_.translate(0.0F, -1.501F, 0.0F);
this.model.setupAnim(p_368442_);
VertexConsumer vertexconsumer = p_114523_.getBuffer(this.model.renderType(TEXTURE_LOCATION));
this.model.renderToBuffer(p_114522_, vertexconsumer, p_114524_, OverlayTexture.NO_OVERLAY);
p_114522_.popPose();
super.render(p_368442_, p_114522_, p_114523_, p_114524_);
}
}
public EvokerFangsRenderState createRenderState() {
return new EvokerFangsRenderState();
}
public void extractRenderState(EvokerFangs p_369816_, EvokerFangsRenderState p_364298_, float p_361549_) {
super.extractRenderState(p_369816_, p_364298_, p_361549_);
p_364298_.yRot = p_369816_.getYRot();
p_364298_.biteProgress = p_369816_.getAnimationProgress(p_361549_);
}
} |