pub struct ItemDef {
pub id: String,
pub max_stack: u8,
pub name: Option<String>,
pub tooltip: Option<String>,
pub max_damage: u32,
pub fire_resistant: bool,
pub fuel_ticks: u32,
pub food: Option<FoodDef>,
pub tool: Option<ToolItem>,
pub armor: Option<ArmorPiece>,
pub wearable: Option<String>,
}Expand description
A custom item to register, identified by namespace:path.
Fields§
§id: String§max_stack: u8§name: Option<String>§tooltip: Option<String>§max_damage: u32Durability. 0 = non-damageable. If set, max_stack is forced to 1.
fire_resistant: boolImmune to fire and lava damage (like netherite items).
fuel_ticks: u32Furnace fuel burn time in ticks (0 = not fuel; 200 = one coal equivalent).
food: Option<FoodDef>Nutritional properties; None = not food.
tool: Option<ToolItem>A tool or a weapon of a material.
armor: Option<ArmorPiece>A piece of armor of a material.
wearable: Option<String>Worn in this slot without being armor: head, chest, legs, feet.
Implementations§
Source§impl ItemDef
impl ItemDef
pub fn new(id: impl Into<String>) -> ItemDef
Sourcepub fn tool(
self,
kind: impl Into<String>,
material: impl Into<String>,
attack_damage: f32,
attack_speed: f32,
) -> ItemDef
pub fn tool( self, kind: impl Into<String>, material: impl Into<String>, attack_damage: f32, attack_speed: f32, ) -> ItemDef
A tool (pickaxe, axe, shovel, hoe, a mod’s mineable tag
mymod:mineable/hammer) or a sword, of material (a
ToolMaterial: the game’s iron… or a mod’s).
Sourcepub fn armor(
self,
slot: impl Into<String>,
material: impl Into<String>,
) -> ItemDef
pub fn armor( self, slot: impl Into<String>, material: impl Into<String>, ) -> ItemDef
A piece of armor for slot (head, chest, legs, feet) of
material (an ArmorMaterial: the game’s diamond… or a mod’s).
Sourcepub fn wearable(self, slot: impl Into<String>) -> ItemDef
pub fn wearable(self, slot: impl Into<String>) -> ItemDef
Worn in slot (head, chest, legs, feet) without being armor.
Sourcepub fn max_stack(self, n: u8) -> ItemDef
pub fn max_stack(self, n: u8) -> ItemDef
Maximum stack size (default 64). Ignored when max_damage is set.
Sourcepub fn max_damage(self, durability: u32) -> ItemDef
pub fn max_damage(self, durability: u32) -> ItemDef
Make this a damageable item (tool/weapon/armour). Forces stack size to 1.
Sourcepub fn fire_resistant(self) -> ItemDef
pub fn fire_resistant(self) -> ItemDef
Make this item fire-resistant (won’t burn in fire or lava).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ItemDef
impl<'de> Deserialize<'de> for ItemDef
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ItemDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ItemDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Schema for ItemDef
impl Schema for ItemDef
Source§impl Serialize for ItemDef
impl Serialize for ItemDef
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ItemDef
impl RefUnwindSafe for ItemDef
impl Send for ItemDef
impl Sync for ItemDef
impl Unpin for ItemDef
impl UnsafeUnpin for ItemDef
impl UnwindSafe for ItemDef
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.