minecraft-src/net/minecraft/client/renderer/entity/AxolotlRenderer.java
2025-07-04 03:15:13 +03:00

44 lines
2 KiB
Java

package net.minecraft.client.renderer.entity;
import com.google.common.collect.Maps;
import java.util.Locale;
import java.util.Map;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.Util;
import net.minecraft.client.model.AxolotlModel;
import net.minecraft.client.model.geom.ModelLayers;
import net.minecraft.client.renderer.entity.state.AxolotlRenderState;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.animal.axolotl.Axolotl;
import net.minecraft.world.entity.animal.axolotl.Axolotl.Variant;
@Environment(EnvType.CLIENT)
public class AxolotlRenderer extends AgeableMobRenderer<Axolotl, AxolotlRenderState, AxolotlModel> {
private static final Map<Variant, ResourceLocation> TEXTURE_BY_TYPE = Util.make(Maps.<Variant, ResourceLocation>newHashMap(), hashMap -> {
for (Variant variant : Variant.values()) {
hashMap.put(variant, ResourceLocation.withDefaultNamespace(String.format(Locale.ROOT, "textures/entity/axolotl/axolotl_%s.png", variant.getName())));
}
});
public AxolotlRenderer(EntityRendererProvider.Context context) {
super(context, new AxolotlModel(context.bakeLayer(ModelLayers.AXOLOTL)), new AxolotlModel(context.bakeLayer(ModelLayers.AXOLOTL_BABY)), 0.5F);
}
public ResourceLocation getTextureLocation(AxolotlRenderState axolotlRenderState) {
return (ResourceLocation)TEXTURE_BY_TYPE.get(axolotlRenderState.variant);
}
public AxolotlRenderState createRenderState() {
return new AxolotlRenderState();
}
public void extractRenderState(Axolotl axolotl, AxolotlRenderState axolotlRenderState, float f) {
super.extractRenderState(axolotl, axolotlRenderState, f);
axolotlRenderState.variant = axolotl.getVariant();
axolotlRenderState.playingDeadFactor = axolotl.playingDeadAnimator.getFactor(f);
axolotlRenderState.inWaterFactor = axolotl.inWaterAnimator.getFactor(f);
axolotlRenderState.onGroundFactor = axolotl.onGroundAnimator.getFactor(f);
axolotlRenderState.movingFactor = axolotl.movingAnimator.getFactor(f);
}
}