minecraft-src/net/minecraft/world/item/PlayerHeadItem.java
2025-07-04 02:00:41 +03:00

31 lines
1.3 KiB
Java

package net.minecraft.world.item;
import net.minecraft.core.Direction;
import net.minecraft.core.component.DataComponents;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.component.ResolvableProfile;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.SkullBlockEntity;
public class PlayerHeadItem extends StandingAndWallBlockItem {
public PlayerHeadItem(Block block, Block wallBlock, Item.Properties properties) {
super(block, wallBlock, Direction.DOWN, properties);
}
@Override
public Component getName(ItemStack stack) {
ResolvableProfile resolvableProfile = stack.get(DataComponents.PROFILE);
return (Component)(resolvableProfile != null && resolvableProfile.name().isPresent()
? Component.translatable(this.descriptionId + ".named", resolvableProfile.name().get())
: super.getName(stack));
}
@Override
public void verifyComponentsAfterLoad(ItemStack stack) {
ResolvableProfile resolvableProfile = stack.get(DataComponents.PROFILE);
if (resolvableProfile != null && !resolvableProfile.isResolved()) {
resolvableProfile.resolve()
.thenAcceptAsync(resolvableProfilex -> stack.set(DataComponents.PROFILE, resolvableProfilex), SkullBlockEntity.CHECKED_MAIN_THREAD_EXECUTOR);
}
}
}