pub struct Roll {
pub table: String,
pub dimension: String,
pub pos: Option<[f64; 3]>,
pub entity: Option<String>,
pub killer: Option<String>,
pub tool: Option<LootStack>,
pub enchantments: Vec<(String, u32)>,
pub items: Vec<LootStack>,
}Expand description
A loot table rolled: where and for whom, and what it gave. Handlers
change items; each sees the one before’s result.
Fields§
§table: StringThe table (minecraft:chests/simple_dungeon, minecraft:blocks/amethyst_cluster).
dimension: StringThe dimension it’s rolled in (minecraft:overworld).
pos: Option<[f64; 3]>Where: the chest, the broken block, the mob.
entity: Option<String>The entity it’s for: the mob killed, the player opening the chest.
killer: Option<String>Who killed it (an entity’s uuid).
tool: Option<LootStack>The tool breaking the block.
enchantments: Vec<(String, u32)>The tool’s enchantments and levels (minecraft:fortune, 3).
items: Vec<LootStack>What it gave.
Implementations§
Trait Implementations§
Source§impl Event for Loot
impl Event for Loot
Source§const ADDRESS: &'static str = ids::event_world_loot::ROLL
const ADDRESS: &'static str = ids::event_world_loot::ROLL
Where it’s emitted after the game did it.
Source§const PRE: Option<&'static str> = None
const PRE: Option<&'static str> = None
Where it’s emitted before — a handler’s cancel stops it — if it can be stopped.
Source§const KEY: Option<&'static str> = None
const KEY: Option<&'static str> = None
The field whose value picks the event’s branch (
entity_type: each
type’s ticks go to …/tick/<type>), if it’s keyed — see crate::keyed.Source§fn address(&self) -> u32
fn address(&self) -> u32
Event::target’s number — the type’s own address cached.Source§fn pre_address(&self) -> Option<u32>
fn pre_address(&self) -> Option<u32>
Event::pre_target’s number.Source§fn target(&self) -> String
fn target(&self) -> String
Where this event goes after the game did it: the address, or its branch for the key.
Source§fn pre_target(&self) -> Option<String>
fn pre_target(&self) -> Option<String>
Where it goes before, if it can be stopped.
Source§impl Schema for Loot
impl Schema for Loot
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<Loot>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<Loot>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Loot>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Loot>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Loot>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Loot>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
impl StructuralPartialEq for Loot
Auto Trait Implementations§
impl Freeze for Loot
impl RefUnwindSafe for Loot
impl Send for Loot
impl Sync for Loot
impl Unpin for Loot
impl UnsafeUnpin for Loot
impl UnwindSafe for Loot
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Message for Twhere
T: Schema,
impl<T> Message for Twhere
T: Schema,
Source§fn from_bytes(bytes: &[u8]) -> Option<Self>
fn from_bytes(bytes: &[u8]) -> Option<Self>
The message read from a payload;
None if it isn’t one.Source§fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
f on the payload, packed in this thread’s reused buffers: nothing
allocated once they’ve grown to the thread’s messages.