]>
Witch of Git - minecraft-eda/blob - mc-mask/src/main.rs
1 use rcon
::{self, Connection
};
5 fn block_below_player(conn
: &mut Connection
, user
: &str)
6 -> Result
<(i32, i32, i32), Box
<dyn Error
>>
8 let cmd
= format
!("execute at {user} run tp {user} ~ ~ ~", user
=user
);
9 let text
= conn
.cmd(&cmd
)?
;
10 let re
= Regex
::new(r
"Teleported .* to (.*), (.*), (.*)").unwrap
();
11 if let Some(cap
) = re
.captures(&text
) {
12 let x
= (cap
[1].parse
::<f32>()?
+ 0.0) as i32;
13 let y
= (cap
[2].parse
::<f32>()?
- 1.0) as i32;
14 let z
= (cap
[3].parse
::<f32>()?
- 1.0) as i32;
21 fn main() -> Result
<(), Box
<dyn Error
>> {
22 if std
::env
::args().len() != 4 {
24 "Usage: {} <server> <rcon-password> <user>",
25 std
::env
::args().nth(0).unwrap
(),
29 let addr
= std
::env
::args().nth(1).unwrap
();
30 let password
= std
::env
::args().nth(2).unwrap
();
31 let user
= std
::env
::args().nth(3).unwrap
();
32 let mut conn
= Connection
::connect(&addr
, &password
)?
;
33 let (x
, y
, z
) = block_below_player(&mut conn
, &user
)?
;
34 let cmd
= format
!("setblock {} {} {} gold_block", x
, y
, z
);