pub struct Scoreboard {
state: SyncRwLock<PersistentScoreboard>,
revision: AtomicU64,
saved_revision: AtomicU64,
}Expand description
Command-facing scoreboard for one Steel domain.
Fields§
§state: SyncRwLock<PersistentScoreboard>§revision: AtomicU64§saved_revision: AtomicU64Implementations§
Source§impl Scoreboard
impl Scoreboard
fn from_persistent(state: PersistentScoreboard) -> Result<Self, ScoreboardError>
Sourcepub fn add_objective(
&self,
name: impl Into<String>,
) -> Result<ScoreboardObjective, ScoreboardError>
pub fn add_objective( &self, name: impl Into<String>, ) -> Result<ScoreboardObjective, ScoreboardError>
Adds a writable objective.
§Errors
Returns an error if the objective name is empty or already exists.
Sourcepub fn add_objective_with_read_only(
&self,
name: impl Into<String>,
read_only: bool,
) -> Result<ScoreboardObjective, ScoreboardError>
pub fn add_objective_with_read_only( &self, name: impl Into<String>, read_only: bool, ) -> Result<ScoreboardObjective, ScoreboardError>
Adds an objective with explicit command mutability.
§Errors
Returns an error if the objective name is empty or already exists.
Sourcepub fn objective(&self, name: &str) -> Option<ScoreboardObjective>
pub fn objective(&self, name: &str) -> Option<ScoreboardObjective>
Returns an objective by name.
Sourcepub fn objective_names(&self) -> Vec<String>
pub fn objective_names(&self) -> Vec<String>
Returns objective names in stable order.
Sourcepub fn add_team(
&self,
name: impl Into<String>,
) -> Result<ScoreboardTeam, ScoreboardError>
pub fn add_team( &self, name: impl Into<String>, ) -> Result<ScoreboardTeam, ScoreboardError>
Sourcepub fn team(&self, name: &str) -> Option<ScoreboardTeam>
pub fn team(&self, name: &str) -> Option<ScoreboardTeam>
Returns a team by name.
Sourcepub fn team_names(&self) -> Vec<String>
pub fn team_names(&self) -> Vec<String>
Returns team names in stable order.
Sourcepub fn holder_team_name(&self, holder: &ScoreHolder) -> Option<String>
pub fn holder_team_name(&self, holder: &ScoreHolder) -> Option<String>
Returns the current team name for a score holder.
Sourcepub fn add_holder_to_team(
&self,
holder: &ScoreHolder,
team: &ScoreboardTeam,
) -> Result<(), ScoreboardError>
pub fn add_holder_to_team( &self, holder: &ScoreHolder, team: &ScoreboardTeam, ) -> Result<(), ScoreboardError>
Adds a holder to a team, replacing any prior membership.
§Errors
Returns an error for an empty holder or a team that no longer exists.
Sourcepub fn tracked_holders(&self) -> Vec<ScoreHolder>
pub fn tracked_holders(&self) -> Vec<ScoreHolder>
Returns tracked score holders in stable order.
Sourcepub fn score_entry(
&self,
holder: &ScoreHolder,
objective: &ScoreboardObjective,
) -> Option<ScoreboardScore>
pub fn score_entry( &self, holder: &ScoreHolder, objective: &ScoreboardObjective, ) -> Option<ScoreboardScore>
Returns the complete score entry for a holder and objective.
Sourcepub fn score(
&self,
holder: &ScoreHolder,
objective: &ScoreboardObjective,
) -> Option<i32>
pub fn score( &self, holder: &ScoreHolder, objective: &ScoreboardObjective, ) -> Option<i32>
Returns the integer score for a holder and objective.
Sourcepub fn set_score(
&self,
holder: &ScoreHolder,
objective: &ScoreboardObjective,
value: i32,
) -> Result<(), ScoreboardError>
pub fn set_score( &self, holder: &ScoreHolder, objective: &ScoreboardObjective, value: i32, ) -> Result<(), ScoreboardError>
Sets a holder’s score, preserving its lock state when already present.
§Errors
Returns an error for an empty holder, a missing objective, or a read-only objective.
Sourcepub fn set_score_locked(
&self,
holder: &ScoreHolder,
objective: &ScoreboardObjective,
locked: bool,
) -> Result<(), ScoreboardError>
pub fn set_score_locked( &self, holder: &ScoreHolder, objective: &ScoreboardObjective, locked: bool, ) -> Result<(), ScoreboardError>
Changes a score’s trigger lock state.
§Errors
Returns an error for an empty holder or a missing objective.
Sourcepub fn holder_objectives(&self, holder: &ScoreHolder) -> BTreeSet<String>
pub fn holder_objectives(&self, holder: &ScoreHolder) -> BTreeSet<String>
Returns objective names that have a score for the holder.
fn mark_dirty(&self)
fn pending_save(&self) -> Option<ScoreboardSaveSnapshot>
fn mark_saved(&self, revision: u64)
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Scoreboard
impl !RefUnwindSafe for Scoreboard
impl Send for Scoreboard
impl Sync for Scoreboard
impl Unpin for Scoreboard
impl UnsafeUnpin for Scoreboard
impl UnwindSafe for Scoreboard
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreArc<SyncMutex<>>