Code/net/minecraft/client/renderer/entity/state/ItemClusterRenderState.java

39 lines
1.4 KiB
Java

package net.minecraft.client.renderer.entity.state;
import net.minecraft.client.renderer.item.ItemModelResolver;
import net.minecraft.client.renderer.item.ItemStackRenderState;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class ItemClusterRenderState extends EntityRenderState {
public final ItemStackRenderState item = new ItemStackRenderState();
public int count;
public int seed;
public void extractItemGroupRenderState(Entity p_377676_, ItemStack p_378378_, ItemModelResolver p_377148_) {
p_377148_.updateForNonLiving(this.item, p_378378_, ItemDisplayContext.GROUND, p_377676_);
this.count = getRenderedAmount(p_378378_.getCount());
this.seed = getSeedForItemStack(p_378378_);
}
public static int getSeedForItemStack(ItemStack p_377994_) {
return p_377994_.isEmpty() ? 187 : Item.getId(p_377994_.getItem()) + p_377994_.getDamageValue();
}
public static int getRenderedAmount(int p_376134_) {
if (p_376134_ <= 1) {
return 1;
} else if (p_376134_ <= 16) {
return 2;
} else if (p_376134_ <= 32) {
return 3;
} else {
return p_376134_ <= 48 ? 4 : 5;
}
}
}