steel_core/behavior/items/
compass.rs1use std::borrow::Cow;
2
3use steel_macros::item_behavior;
4use steel_registry::{
5 data_components::vanilla_components::LODESTONE_TRACKER, item_stack::ItemStack,
6};
7use text_components::TextComponent;
8
9use crate::behavior::ItemBehavior;
10
11use super::dynamic_name::{default_name, translated};
12
13#[item_behavior]
17pub struct CompassItem;
18
19impl ItemBehavior for CompassItem {
20 fn get_name<'a>(&self, stack: &'a ItemStack) -> Cow<'a, TextComponent> {
21 if stack.has(LODESTONE_TRACKER) {
22 translated("item.minecraft.lodestone_compass".to_owned(), None)
23 } else {
24 default_name(stack)
25 }
26 }
27}