37 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.client.renderer.entity.layers;
 | |
| 
 | |
| import com.mojang.blaze3d.vertex.PoseStack;
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| import net.minecraft.client.model.HappyGhastModel;
 | |
| import net.minecraft.client.model.geom.EntityModelSet;
 | |
| import net.minecraft.client.model.geom.ModelLayers;
 | |
| import net.minecraft.client.renderer.MultiBufferSource;
 | |
| import net.minecraft.client.renderer.RenderType;
 | |
| import net.minecraft.client.renderer.entity.RenderLayerParent;
 | |
| import net.minecraft.client.renderer.entity.state.HappyGhastRenderState;
 | |
| import net.minecraft.client.renderer.texture.OverlayTexture;
 | |
| import net.minecraft.resources.ResourceLocation;
 | |
| import net.minecraft.tags.ItemTags;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public class RopesLayer<M extends HappyGhastModel> extends RenderLayer<HappyGhastRenderState, M> {
 | |
| 	private final RenderType ropes;
 | |
| 	private final HappyGhastModel adultModel;
 | |
| 	private final HappyGhastModel babyModel;
 | |
| 
 | |
| 	public RopesLayer(RenderLayerParent<HappyGhastRenderState, M> renderer, EntityModelSet entityModels, ResourceLocation texture) {
 | |
| 		super(renderer);
 | |
| 		this.ropes = RenderType.entityCutoutNoCull(texture);
 | |
| 		this.adultModel = new HappyGhastModel(entityModels.bakeLayer(ModelLayers.HAPPY_GHAST_ROPES));
 | |
| 		this.babyModel = new HappyGhastModel(entityModels.bakeLayer(ModelLayers.HAPPY_GHAST_BABY_ROPES));
 | |
| 	}
 | |
| 
 | |
| 	public void render(PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, HappyGhastRenderState renderState, float yRot, float xRot) {
 | |
| 		if (renderState.isLeashHolder && renderState.bodyItem.is(ItemTags.HARNESSES)) {
 | |
| 			HappyGhastModel happyGhastModel = renderState.isBaby ? this.babyModel : this.adultModel;
 | |
| 			happyGhastModel.setupAnim(renderState);
 | |
| 			happyGhastModel.renderToBuffer(poseStack, bufferSource.getBuffer(this.ropes), packedLight, OverlayTexture.NO_OVERLAY);
 | |
| 		}
 | |
| 	}
 | |
| }
 |