mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-11 22:15:30 +00:00
Chat Selectors [@player]
This commit is contained in:
parent
d0d5c1bb79
commit
7de0835ad9
@ -494,8 +494,26 @@ class Player{
|
|||||||
public function sendChat($message){
|
public function sendChat($message){
|
||||||
$mes = explode("\n", $message);
|
$mes = explode("\n", $message);
|
||||||
foreach($mes as $m){
|
foreach($mes as $m){
|
||||||
|
if(preg_match_all('#@([@A-Za-z_]{1,})#', $m, $matches, PREG_OFFSET_CAPTURE) > 0){
|
||||||
|
$offsetshift = 0;
|
||||||
|
foreach($matches[1] as $selector){
|
||||||
|
if($selector[0]{0} === "@"){ //Escape!
|
||||||
|
$m = substr_replace($m, $selector[0], $selector[1] + $offsetshift - 1, strlen($selector[0]) + 1);
|
||||||
|
--$offsetshift;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
switch(strtolower($selector[0])){
|
||||||
|
case "player":
|
||||||
|
case "username":
|
||||||
|
$m = substr_replace($m, $this->username, $selector[1] + $offsetshift - 1, strlen($selector[0]) + 1);
|
||||||
|
$offsetshift += strlen($selector[0]) - strlen($this->username) + 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
$this->dataPacket(MC_CHAT, array(
|
$this->dataPacket(MC_CHAT, array(
|
||||||
"message" => str_replace("@username", $this->username, $m),
|
|
||||||
|
"message" => $m,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user