This commit is contained in:
parent
ed293463c5
commit
c7e02ecfe2
@ -53,7 +53,7 @@ pub static BLOCK_ID_BY_ITEM_ID: LazyLock<HashMap<u16, u16>> = LazyLock::new(|| {
|
||||
});
|
||||
|
||||
pub fn get_block(registry_id: &str) -> Option<&Block> {
|
||||
let id = BLOCK_ID_BY_REGISTRY_ID.get(registry_id)?;
|
||||
let id = BLOCK_ID_BY_REGISTRY_ID.get(®istry_id.replace("minecraft:", ""))?;
|
||||
BLOCKS_BY_ID.get(id)
|
||||
}
|
||||
|
||||
|
||||
@ -37,14 +37,7 @@ impl ArgumentConsumer for BlockArgumentConsumer {
|
||||
args: &mut RawArgs<'a>,
|
||||
) -> Option<Arg<'a>> {
|
||||
let s = args.pop()?;
|
||||
|
||||
let name = if s.contains(':') {
|
||||
s.to_string()
|
||||
} else {
|
||||
format!("minecraft:{s}")
|
||||
};
|
||||
|
||||
Some(Arg::Block(name))
|
||||
Some(Arg::Block(s))
|
||||
}
|
||||
|
||||
async fn suggest<'a>(
|
||||
|
||||
@ -34,16 +34,8 @@ impl ArgumentConsumer for ItemArgumentConsumer {
|
||||
_server: &'a Server,
|
||||
args: &mut RawArgs<'a>,
|
||||
) -> Option<Arg<'a>> {
|
||||
let s = args.pop()?;
|
||||
|
||||
let name = if s.contains(':') {
|
||||
s.to_string()
|
||||
} else {
|
||||
format!("minecraft:{s}")
|
||||
};
|
||||
|
||||
// todo: get an actual item
|
||||
Some(Arg::Item(name))
|
||||
Some(Arg::Item(args.pop()?))
|
||||
}
|
||||
|
||||
async fn suggest<'a>(
|
||||
|
||||
@ -32,15 +32,7 @@ impl ArgumentConsumer for ResourceLocationArgumentConsumer {
|
||||
_server: &'a Server,
|
||||
args: &mut RawArgs<'a>,
|
||||
) -> Option<Arg<'a>> {
|
||||
let s = args.pop()?;
|
||||
|
||||
let name = if s.contains(':') {
|
||||
s.to_string()
|
||||
} else {
|
||||
format!("minecraft:{s}")
|
||||
};
|
||||
|
||||
Some(Arg::ResourceLocation(name))
|
||||
Some(Arg::ResourceLocation(args.pop()?))
|
||||
}
|
||||
|
||||
async fn suggest<'a>(
|
||||
|
||||
@ -35,7 +35,7 @@ impl ArgumentConsumer for SimpleArgConsumer {
|
||||
_server: &'a Server,
|
||||
args: &mut RawArgs<'a>,
|
||||
) -> Option<Arg<'a>> {
|
||||
Some(Arg::Simple(args.pop()?.to_string()))
|
||||
Some(Arg::Simple(args.pop()?))
|
||||
}
|
||||
|
||||
async fn suggest<'a>(
|
||||
|
||||
@ -84,16 +84,16 @@ pub(crate) enum Arg<'a> {
|
||||
Rotation(f32, f32),
|
||||
GameMode(GameMode),
|
||||
CommandTree(&'a CommandTree<'a>),
|
||||
Item(String),
|
||||
ResourceLocation(String),
|
||||
Block(String),
|
||||
Item(&'a str),
|
||||
ResourceLocation(&'a str),
|
||||
Block(&'a str),
|
||||
BossbarColor(BossbarColor),
|
||||
BossbarStyle(BossbarDivisions),
|
||||
Msg(String),
|
||||
Num(Result<Number, NotInBounds>),
|
||||
Bool(bool),
|
||||
#[allow(unused)]
|
||||
Simple(String),
|
||||
Simple(&'a str),
|
||||
}
|
||||
|
||||
/// see [`crate::commands::tree_builder::argument`] and [`CommandTree::execute`]/[`crate::commands::tree_builder::NonLeafNodeBuilder::execute`]
|
||||
|
||||
@ -53,6 +53,7 @@ enum CommandValueSet {
|
||||
struct BossbarAddExecuter;
|
||||
|
||||
#[async_trait]
|
||||
#[expect(clippy::inefficient_to_string)]
|
||||
impl CommandExecutor for BossbarAddExecuter {
|
||||
async fn execute<'a>(
|
||||
&self,
|
||||
@ -74,7 +75,7 @@ impl CommandExecutor for BossbarAddExecuter {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let bossbar = Bossbar::new(name.clone());
|
||||
let bossbar = Bossbar::new(name.to_string());
|
||||
server
|
||||
.bossbars
|
||||
.lock()
|
||||
@ -320,7 +321,7 @@ impl CommandExecutor for BossbarSetExecuter {
|
||||
.bossbars
|
||||
.lock()
|
||||
.await
|
||||
.update_name(server, namespace.to_string(), name.clone())
|
||||
.update_name(server, namespace, name)
|
||||
.await
|
||||
{
|
||||
Ok(()) => {}
|
||||
|
||||
@ -235,10 +235,10 @@ impl CustomBossbars {
|
||||
pub async fn update_name(
|
||||
&mut self,
|
||||
server: &Server,
|
||||
resource_location: String,
|
||||
new_title: String,
|
||||
resource_location: &str,
|
||||
new_title: &str,
|
||||
) -> Result<(), BossbarUpdateError> {
|
||||
let bossbar = self.custom_bossbars.get_mut(&resource_location);
|
||||
let bossbar = self.custom_bossbars.get_mut(resource_location);
|
||||
if let Some(bossbar) = bossbar {
|
||||
if bossbar.bossbar_data.title == new_title {
|
||||
return Err(BossbarUpdateError::NoChanges(String::from(
|
||||
@ -246,7 +246,7 @@ impl CustomBossbars {
|
||||
)));
|
||||
}
|
||||
|
||||
bossbar.bossbar_data.title = new_title;
|
||||
bossbar.bossbar_data.title = new_title.to_string();
|
||||
|
||||
if !bossbar.visible {
|
||||
return Ok(());
|
||||
@ -269,7 +269,7 @@ impl CustomBossbars {
|
||||
return Ok(());
|
||||
}
|
||||
Err(BossbarUpdateError::InvalidResourceLocation(
|
||||
resource_location,
|
||||
resource_location.to_string(),
|
||||
))
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user