40 lines
1.7 KiB
Java
40 lines
1.7 KiB
Java
package net.minecraft.client.renderer.entity;
|
|
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.client.model.WitchModel;
|
|
import net.minecraft.client.model.geom.ModelLayers;
|
|
import net.minecraft.client.renderer.entity.layers.WitchItemLayer;
|
|
import net.minecraft.client.renderer.entity.state.HoldingEntityRenderState;
|
|
import net.minecraft.client.renderer.entity.state.WitchRenderState;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.world.entity.monster.Witch;
|
|
import net.minecraft.world.item.ItemStack;
|
|
import net.minecraft.world.item.Items;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class WitchRenderer extends MobRenderer<Witch, WitchRenderState, WitchModel> {
|
|
private static final ResourceLocation WITCH_LOCATION = ResourceLocation.withDefaultNamespace("textures/entity/witch.png");
|
|
|
|
public WitchRenderer(EntityRendererProvider.Context context) {
|
|
super(context, new WitchModel(context.bakeLayer(ModelLayers.WITCH)), 0.5F);
|
|
this.addLayer(new WitchItemLayer(this));
|
|
}
|
|
|
|
public ResourceLocation getTextureLocation(WitchRenderState witchRenderState) {
|
|
return WITCH_LOCATION;
|
|
}
|
|
|
|
public WitchRenderState createRenderState() {
|
|
return new WitchRenderState();
|
|
}
|
|
|
|
public void extractRenderState(Witch witch, WitchRenderState witchRenderState, float f) {
|
|
super.extractRenderState(witch, witchRenderState, f);
|
|
HoldingEntityRenderState.extractHoldingEntityRenderState(witch, witchRenderState, this.itemModelResolver);
|
|
witchRenderState.entityId = witch.getId();
|
|
ItemStack itemStack = witch.getMainHandItem();
|
|
witchRenderState.isHoldingItem = !itemStack.isEmpty();
|
|
witchRenderState.isHoldingPotion = itemStack.is(Items.POTION);
|
|
}
|
|
}
|