feat: chat & death events
This commit is contained in:
parent
282387aabe
commit
a1c1c50c5c
|
@ -13,8 +13,8 @@ Send a JSON object with the `type` field set to `subscribe` and the `events` fie
|
|||
* `player_join`
|
||||
* `player_leave`
|
||||
* `player_move`
|
||||
* `player_chat` :: Not Yet Implemented
|
||||
* `player_death` :: Not Yet Implemented
|
||||
* `player_chat`
|
||||
* `player_death`
|
||||
|
||||
## Events
|
||||
|
||||
|
@ -71,3 +71,31 @@ Example:
|
|||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `player_chat`
|
||||
|
||||
Example:
|
||||
```json
|
||||
{
|
||||
"type": "player_chat",
|
||||
"player": {
|
||||
"name": "TheClashFruit",
|
||||
"uuid": "942ae64d-e4e5-4dd0-a153-b6aba7817ca9"
|
||||
},
|
||||
"message": "Hello, world!"
|
||||
}
|
||||
```
|
||||
|
||||
### `player_death`
|
||||
|
||||
Example:
|
||||
```json
|
||||
{
|
||||
"type": "player_death",
|
||||
"player": {
|
||||
"name": "TheClashFruit",
|
||||
"uuid": "942ae64d-e4e5-4dd0-a153-b6aba7817ca9"
|
||||
},
|
||||
"message": "TheClashFruit was slain by a zombie."
|
||||
}
|
||||
```
|
|
@ -41,7 +41,7 @@ public class GatewaySocket {
|
|||
SocketReqMessage reqMessage = (SocketReqMessage) SocketReqMessage.fromJson(message, SocketReqMessage.class);
|
||||
|
||||
if (Objects.equals(reqMessage.getType(), "subscribe")) {
|
||||
for (String channel : reqMessage.getChannels()) {
|
||||
for (String channel : reqMessage.getEvents()) {
|
||||
this.subscriptions.add(Channels.getChannel(channel));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import me.theclashfruit.crss.enums.Channels;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
@ -71,4 +73,36 @@ public class PlayerListener implements Listener {
|
|||
if (event.getFrom().distance(event.getTo()) != 0)
|
||||
GatewaySocket.broadcastToChannel(Channels.PLAYER_MOVE, msg);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerChat(PlayerChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
String msg = "{" +
|
||||
"\"type\":\"player_chat\"," +
|
||||
"\"player\":{" +
|
||||
"\"name\":\"" + player.getName() + "\"," +
|
||||
"\"uuid\":\"" + player.getUniqueId() + "\"" +
|
||||
"}," +
|
||||
"\"message\":\"" + event.getMessage() + "\"" +
|
||||
"}";
|
||||
|
||||
GatewaySocket.broadcastToChannel(Channels.PLAYER_CHAT, msg);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerDeath(PlayerDeathEvent event) {
|
||||
Player player = event.getEntity();
|
||||
|
||||
String msg = "{" +
|
||||
"\"type\":\"player_death\"," +
|
||||
"\"player\":{" +
|
||||
"\"name\":\"" + player.getName() + "\"," +
|
||||
"\"uuid\":\"" + player.getUniqueId() + "\"" +
|
||||
"}," +
|
||||
"\"message\":\"" + event.getDeathMessage() + "\"" +
|
||||
"}";
|
||||
|
||||
GatewaySocket.broadcastToChannel(Channels.PLAYER_DEATH, msg);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,26 +7,26 @@ import java.util.stream.Collectors;
|
|||
|
||||
public class SocketReqMessage extends Model {
|
||||
private String type;
|
||||
private String[] channels;
|
||||
private String[] events;
|
||||
|
||||
public SocketReqMessage(String type, String[] channels) {
|
||||
public SocketReqMessage(String type, String[] events) {
|
||||
this.type = type;
|
||||
this.channels = channels;
|
||||
this.events = events;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String[] getChannels() {
|
||||
return channels;
|
||||
public String[] getEvents() {
|
||||
return events;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public void setChannels(String[] channels) {
|
||||
this.channels = channels;
|
||||
public void setEvents(String[] events) {
|
||||
this.events = events;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue