minecraft-src/net/minecraft/client/renderer/item/ModelRenderProperties.java
2025-07-04 03:45:38 +03:00

24 lines
1.2 KiB
Java

package net.minecraft.client.renderer.item;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.renderer.block.model.TextureSlots;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.resources.model.ModelBaker;
import net.minecraft.client.resources.model.ResolvedModel;
import net.minecraft.world.item.ItemDisplayContext;
@Environment(EnvType.CLIENT)
public record ModelRenderProperties(boolean usesBlockLight, TextureAtlasSprite particleIcon, ItemTransforms transforms) {
public static ModelRenderProperties fromResolvedModel(ModelBaker baker, ResolvedModel model, TextureSlots textureSlots) {
TextureAtlasSprite textureAtlasSprite = model.resolveParticleSprite(textureSlots, baker);
return new ModelRenderProperties(model.getTopGuiLight().lightLikeBlock(), textureAtlasSprite, model.getTopTransforms());
}
public void applyToLayer(ItemStackRenderState.LayerRenderState renderState, ItemDisplayContext displayContext) {
renderState.setUsesBlockLight(this.usesBlockLight);
renderState.setParticleIcon(this.particleIcon);
renderState.setTransform(this.transforms.getTransform(displayContext));
}
}