pub struct CServer(pub *const YogServer);Expand description
A handle to the runtime’s server actions, backed by YogServer fn pointers.
Given to every handler as &dyn Server.
Tuple Fields§
§0: *const YogServerTrait Implementations§
impl Send for CServer
Source§impl Server for CServer
impl Server for CServer
Source§fn get_block(&self, dimension: &str, pos: BlockPos) -> Option<String>
fn get_block(&self, dimension: &str, pos: BlockPos) -> Option<String>
Registry id of the block at
pos in dimension
(e.g. "minecraft:stone"), or None if the dimension/position is
unavailable. Call from the server thread (e.g. an event handler).Source§fn set_block(&self, dimension: &str, pos: BlockPos, block_id: &str) -> bool
fn set_block(&self, dimension: &str, pos: BlockPos, block_id: &str) -> bool
Set the block at
pos in dimension to block_id. Returns whether the
change was applied. Call from the server thread.Source§fn give_item(&self, player: &str, item_id: &str, count: u32) -> bool
fn give_item(&self, player: &str, item_id: &str, count: u32) -> bool
Give
count of item_id to the named player. Returns whether it worked
(player online, item valid). Call from the server thread.Source§fn teleport(&self, player: &str, x: f64, y: f64, z: f64) -> bool
fn teleport(&self, player: &str, x: f64, y: f64, z: f64) -> bool
Teleport the named player to
(x, y, z) in their current world. Returns
whether it worked. Call from the server thread.Source§fn send_to_player(&self, player: &str, channel: &str, payload: &[u8]) -> bool
fn send_to_player(&self, player: &str, channel: &str, payload: &[u8]) -> bool
Send a raw-byte packet to the named player on
channel (server → client).
Returns whether the player was online. Payload is opaque bytes — no NBT.Source§fn send_to_server(&self, channel: &str, payload: &[u8]) -> bool
fn send_to_server(&self, channel: &str, payload: &[u8]) -> bool
Send a raw-byte packet to the server on
channel (client → server).
Only works in a client context; returns whether it was sent.Source§fn entity_teleport(&self, uuid: &str, x: f64, y: f64, z: f64) -> bool
fn entity_teleport(&self, uuid: &str, x: f64, y: f64, z: f64) -> bool
Teleport any entity (by UUID) within its current world.
Source§fn entity_position(&self, uuid: &str) -> Option<(f64, f64, f64)>
fn entity_position(&self, uuid: &str) -> Option<(f64, f64, f64)>
Position of an entity, or
None if not loaded.Source§fn entity_set_health(&self, uuid: &str, health: f32) -> bool
fn entity_set_health(&self, uuid: &str, health: f32) -> bool
Set a living entity’s health; returns whether it applied.
Source§fn entity_kill(&self, uuid: &str) -> bool
fn entity_kill(&self, uuid: &str) -> bool
Remove/kill an entity.
Source§fn spawn_entity(
&self,
entity_type: &str,
dimension: &str,
x: f64,
y: f64,
z: f64,
) -> Option<String>
fn spawn_entity( &self, entity_type: &str, dimension: &str, x: f64, y: f64, z: f64, ) -> Option<String>
Spawn an entity of
entity_type (e.g. minecraft:pig) at a position;
returns its UUID, or None on failure.Source§fn entity_add_effect(
&self,
uuid: &str,
effect_id: &str,
duration_ticks: i32,
amplifier: u8,
show_particles: bool,
) -> bool
fn entity_add_effect( &self, uuid: &str, effect_id: &str, duration_ticks: i32, amplifier: u8, show_particles: bool, ) -> bool
Apply a status effect to a living entity.
effect_id is a registry id
such as "minecraft:speed" or "minecraft:regeneration". amplifier is
0-based (0 = level I). Returns false if the entity or effect is unknown.Source§fn entity_remove_effect(&self, uuid: &str, effect_id: &str) -> bool
fn entity_remove_effect(&self, uuid: &str, effect_id: &str) -> bool
Remove a single status effect from a living entity.
Source§fn entity_clear_effects(&self, uuid: &str) -> bool
fn entity_clear_effects(&self, uuid: &str) -> bool
Clear all active status effects from a living entity.
Source§fn drop_loot(
&self,
table_id: &str,
dimension: &str,
x: f64,
y: f64,
z: f64,
) -> bool
fn drop_loot( &self, table_id: &str, dimension: &str, x: f64, y: f64, z: f64, ) -> bool
Roll a loot table and spawn the resulting item entities in the world.
table_id is the namespaced id, e.g. "minecraft:entities/zombie".Source§fn has_item_tag(&self, item_id: &str, tag_id: &str) -> bool
fn has_item_tag(&self, item_id: &str, tag_id: &str) -> bool
Returns whether
item_id (e.g. "minecraft:stone") belongs to tag_id
(e.g. "minecraft:planks").Source§fn has_block_tag(&self, block_id: &str, tag_id: &str) -> bool
fn has_block_tag(&self, block_id: &str, tag_id: &str) -> bool
Returns whether
block_id belongs to tag_id.Source§fn world_time(&self, dimension: &str) -> Option<i64>
fn world_time(&self, dimension: &str) -> Option<i64>
Game time in ticks since world creation (never wraps, keeps counting).
Source§fn world_set_time(&self, dimension: &str, time: i64) -> bool
fn world_set_time(&self, dimension: &str, time: i64) -> bool
Set the time-of-day (0 = dawn, 6000 = noon, 12000 = dusk, 18000 = midnight).
Only changes the visual time, not the absolute world age.
Source§fn world_is_raining(&self, dimension: &str) -> bool
fn world_is_raining(&self, dimension: &str) -> bool
Whether it is currently raining in the given dimension.
Source§fn world_set_weather(
&self,
dimension: &str,
raining: bool,
duration_ticks: i32,
) -> bool
fn world_set_weather( &self, dimension: &str, raining: bool, duration_ticks: i32, ) -> bool
Start or stop rain.
duration_ticks controls how long the weather lasts
(use 0 for a server-chosen default duration).Source§fn entity_velocity(&self, uuid: &str) -> Option<(f64, f64, f64)>
fn entity_velocity(&self, uuid: &str) -> Option<(f64, f64, f64)>
Current velocity
(vx, vy, vz) of any entity, or None if not loaded.Source§fn entity_set_velocity(&self, uuid: &str, vx: f64, vy: f64, vz: f64) -> bool
fn entity_set_velocity(&self, uuid: &str, vx: f64, vy: f64, vz: f64) -> bool
Set the velocity of any entity. Returns
false if not loaded.Source§fn entity_add_velocity(&self, uuid: &str, vx: f64, vy: f64, vz: f64) -> bool
fn entity_add_velocity(&self, uuid: &str, vx: f64, vy: f64, vz: f64) -> bool
Add a velocity impulse (cumulative with existing velocity).
Source§fn scoreboard_get(&self, objective: &str, player: &str) -> Option<i32>
fn scoreboard_get(&self, objective: &str, player: &str) -> Option<i32>
Score of
player on objective, or None if the objective doesn’t exist.Source§fn scoreboard_set(&self, objective: &str, player: &str, score: i32) -> bool
fn scoreboard_set(&self, objective: &str, player: &str, score: i32) -> bool
Set the score; returns
false if the objective doesn’t exist.Source§fn scoreboard_add(
&self,
objective: &str,
player: &str,
delta: i32,
) -> Option<i32>
fn scoreboard_add( &self, objective: &str, player: &str, delta: i32, ) -> Option<i32>
Add
delta to the score (negative = subtract). Returns the new score,
or None if the objective doesn’t exist.Source§fn play_sound(
&self,
dimension: &str,
x: f64,
y: f64,
z: f64,
sound_id: &str,
volume: f32,
pitch: f32,
) -> bool
fn play_sound( &self, dimension: &str, x: f64, y: f64, z: f64, sound_id: &str, volume: f32, pitch: f32, ) -> bool
Play a sound at
(x, y, z) in dimension. sound_id is a registry id
(e.g. "minecraft:entity.player.levelup"). All players within range hear
it. Returns false if the dimension is unknown.Source§fn play_sound_to_player(
&self,
player: &str,
sound_id: &str,
volume: f32,
pitch: f32,
) -> bool
fn play_sound_to_player( &self, player: &str, sound_id: &str, volume: f32, pitch: f32, ) -> bool
Play a sound at the named player’s current position. All players nearby
(including the target) hear it. Returns
false if the player is offline.Source§fn send_title(
&self,
player: &str,
title: &str,
subtitle: &str,
fadein: i32,
stay: i32,
fadeout: i32,
) -> bool
fn send_title( &self, player: &str, title: &str, subtitle: &str, fadein: i32, stay: i32, fadeout: i32, ) -> bool
Send a title+subtitle screen to a player. Pass empty strings to omit
either line. Timings are in ticks (20 ticks = 1 second).
Source§fn send_actionbar(&self, player: &str, message: &str) -> bool
fn send_actionbar(&self, player: &str, message: &str) -> bool
Send a short message to the action-bar (the line just above the hotbar).
Source§fn kick_player(&self, player: &str, reason: &str) -> bool
fn kick_player(&self, player: &str, reason: &str) -> bool
Disconnect
player with the given reason message.Source§fn set_gamemode(&self, player: &str, gamemode: &str) -> bool
fn set_gamemode(&self, player: &str, gamemode: &str) -> bool
Change a player’s game mode.
gamemode is one of "survival",
"creative", "adventure", "spectator" (or the abbreviations
"s", "c", "a", "sp"). Returns false if the player is offline
or gamemode is unrecognised.Source§fn bossbar_create(
&self,
id: &str,
title: &str,
color: &str,
style: &str,
) -> bool
fn bossbar_create( &self, id: &str, title: &str, color: &str, style: &str, ) -> bool
Create a new boss bar identified by
id (a namespaced id such as
"mymod:progress"). color: "pink" / "blue" / "red" / "green" /
"yellow" / "purple" / "white". style: "progress" /
"notched_6" / "notched_10" / "notched_12" / "notched_20".
Returns false if a bar with that id already exists.Source§fn bossbar_remove(&self, id: &str) -> bool
fn bossbar_remove(&self, id: &str) -> bool
Remove a boss bar (also removes it from all players). Returns
false if
the bar doesn’t exist.Source§fn bossbar_set_title(&self, id: &str, title: &str) -> bool
fn bossbar_set_title(&self, id: &str, title: &str) -> bool
Update the displayed title of a boss bar.
Source§fn bossbar_set_progress(&self, id: &str, progress: f32) -> bool
fn bossbar_set_progress(&self, id: &str, progress: f32) -> bool
Set the fill level of a boss bar (0.0 = empty, 1.0 = full).
Source§fn bossbar_set_color(&self, id: &str, color: &str) -> bool
fn bossbar_set_color(&self, id: &str, color: &str) -> bool
Change the color of a boss bar (same color names as [
bossbar_create]).Source§fn bossbar_add_player(&self, id: &str, player: &str) -> bool
fn bossbar_add_player(&self, id: &str, player: &str) -> bool
Add an online player to the boss bar’s audience.
Source§fn bossbar_remove_player(&self, id: &str, player: &str) -> bool
fn bossbar_remove_player(&self, id: &str, player: &str) -> bool
Remove a player from the boss bar’s audience.
Source§fn bossbar_set_visible(&self, id: &str, visible: bool) -> bool
fn bossbar_set_visible(&self, id: &str, visible: bool) -> bool
Show or hide a boss bar for all its current audience members.
Source§fn online_players(&self) -> Vec<String>
fn online_players(&self) -> Vec<String>
Names of all currently connected players.
Source§fn get_block_nbt(&self, dimension: &str, pos: BlockPos) -> Option<String>
fn get_block_nbt(&self, dimension: &str, pos: BlockPos) -> Option<String>
SNBT string of the block entity at
pos (e.g. chest contents, furnace
state, sign text). Returns None if there is no block entity there.Source§fn set_block_nbt(&self, dimension: &str, pos: BlockPos, snbt: &str) -> bool
fn set_block_nbt(&self, dimension: &str, pos: BlockPos, snbt: &str) -> bool
Write
snbt data into the block entity at pos and mark it dirty.
Returns false if there is no block entity at that position.Source§fn player_inventory(&self, player: &str) -> Vec<(u32, String, u32)>
fn player_inventory(&self, player: &str) -> Vec<(u32, String, u32)>
All occupied inventory slots of an online player.
Returns one entry per occupied slot:
(slot_index, item_id, count).Source§fn player_set_slot(
&self,
player: &str,
slot: u32,
item_id: &str,
count: u32,
) -> bool
fn player_set_slot( &self, player: &str, slot: u32, item_id: &str, count: u32, ) -> bool
Set (or clear when
count == 0) one inventory slot of an online player.Source§fn teleport_to_dim(
&self,
player: &str,
dimension: &str,
x: f64,
y: f64,
z: f64,
) -> bool
fn teleport_to_dim( &self, player: &str, dimension: &str, x: f64, y: f64, z: f64, ) -> bool
Teleport a player to
(x, y, z) in a different (or same) dimension.Source§fn entity_teleport_to_dim(
&self,
uuid: &str,
dimension: &str,
x: f64,
y: f64,
z: f64,
) -> bool
fn entity_teleport_to_dim( &self, uuid: &str, dimension: &str, x: f64, y: f64, z: f64, ) -> bool
Teleport any entity (by UUID) to
(x, y, z) in dimension.Source§fn world_entity_count(&self, dimension: &str, entity_type: &str) -> i32
fn world_entity_count(&self, dimension: &str, entity_type: &str) -> i32
Number of loaded entities of
entity_type (e.g. "minecraft:zombie")
in dimension. Returns -1 if the dimension or entity type is unknown.Source§fn entity_get_nbt(&self, uuid: &str) -> Option<String>
fn entity_get_nbt(&self, uuid: &str) -> Option<String>
SNBT string of the entity’s persistent NBT, or
None if not found.Source§fn entity_set_nbt(&self, uuid: &str, snbt: &str) -> bool
fn entity_set_nbt(&self, uuid: &str, snbt: &str) -> bool
Merge SNBT data into the entity’s persistent NBT. Returns
false if not found.Source§fn spawn_particles(
&self,
dimension: &str,
x: f64,
y: f64,
z: f64,
particle_type: &str,
count: i32,
dx: f64,
dy: f64,
dz: f64,
speed: f64,
) -> bool
fn spawn_particles( &self, dimension: &str, x: f64, y: f64, z: f64, particle_type: &str, count: i32, dx: f64, dy: f64, dz: f64, speed: f64, ) -> bool
Spawn
count particles at (x, y, z) in dimension.
dx/dy/dz control the spatial spread; speed controls particle velocity.Source§fn entity_attribute_get(&self, uuid: &str, attribute_id: &str) -> Option<f64>
fn entity_attribute_get(&self, uuid: &str, attribute_id: &str) -> Option<f64>
Get the base value of an attribute on a living entity.
attribute_id e.g. "minecraft:generic.max_health".
Returns None if the entity or attribute is not found.Source§fn entity_attribute_set(
&self,
uuid: &str,
attribute_id: &str,
value: f64,
) -> bool
fn entity_attribute_set( &self, uuid: &str, attribute_id: &str, value: f64, ) -> bool
Set the base value of an attribute. Returns false if not found.
Source§fn get_held_item_nbt(&self, player: &str) -> Option<String>
fn get_held_item_nbt(&self, player: &str) -> Option<String>
SNBT string of the item currently held in the player’s main hand.
Returns
None if the player is offline or holding air.Source§fn set_held_item_nbt(&self, player: &str, snbt: &str) -> bool
fn set_held_item_nbt(&self, player: &str, snbt: &str) -> bool
Merge
snbt data into the NBT of the item in the player’s main hand.
Returns false if the player is offline or holding air.Source§fn get_offhand_item_nbt(&self, player: &str) -> Option<String>
fn get_offhand_item_nbt(&self, player: &str) -> Option<String>
SNBT of the item in the player’s off hand.
Returns
None if offline or holding air.Source§fn set_offhand_item_nbt(&self, player: &str, snbt: &str) -> bool
fn set_offhand_item_nbt(&self, player: &str, snbt: &str) -> bool
Merge
snbt into the NBT of the player’s off-hand item.
Returns false if offline or holding air.impl Sync for CServer
Auto Trait Implementations§
impl Freeze for CServer
impl RefUnwindSafe for CServer
impl Unpin for CServer
impl UnsafeUnpin for CServer
impl UnwindSafe for CServer
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