13
0

Hotfixes + chat

Dieser Commit ist enthalten in:
Lixfel 2020-08-22 15:08:57 +02:00
Ursprung c523e8ca99
Commit 3c68d7dab1
3 geänderte Dateien mit 16 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -3,6 +3,9 @@ package de.steamwar.spectatesystem;
import de.steamwar.spectatesystem.elements.REntity;
import de.steamwar.spectatesystem.elements.RPlayer;
import de.steamwar.sql.SteamwarUser;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import java.io.IOException;
@ -24,6 +27,7 @@ class PacketProcessor {
if(user == null)
throw new IOException("Unknown user " + userId);
System.out.println("Player " + user.getUserName() + " spawned!");
new RPlayer(user.getUUID(), user.getUserName(), entityId);
}
@ -44,6 +48,13 @@ class PacketProcessor {
REntity.getEntity(entityId).remove();
}
private void chatMessage() throws IOException{
String chatMessage = source.rString();
BaseComponent[] message = TextComponent.fromLegacyText(chatMessage);
Bukkit.getOnlinePlayers().forEach(p -> p.spigot().sendMessage(ChatMessageType.CHAT, message));
}
private void process(){
try{
while(!source.isClosed()){
@ -57,6 +68,9 @@ class PacketProcessor {
case 0x02:
entityDespawns();
break;
case (byte) 0xa0:
chatMessage();
break;
default:
Bukkit.getLogger().log(Level.SEVERE, "Unknown packet recieved, closing");
source.close();

Datei anzeigen

@ -30,7 +30,6 @@ public class RPlayer extends REntity {
protected void spawnEntity(PlayerConnection connection) {
connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, (EntityPlayer) entity)); // "Adds the player data for the client to use when spawning a player" - https://wiki.vg/Protocol#Spawn_Player
connection.sendPacket(new PacketPlayOutNamedEntitySpawn((EntityPlayer) entity)); // Spawns the NPC for the player client.
connection.sendPacket(new PacketPlayOutEntityMetadata(entity.getId(), entity.getDataWatcher(), true));
}
private static EntityPlayer createPlayer(UUID uuid, String name){

Datei anzeigen

@ -1,6 +1,7 @@
package de.steamwar.spectatesystem.listener;
import de.steamwar.spectatesystem.elements.REntity;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
@ -11,5 +12,6 @@ public class JoinListener extends BasicListener {
public void onJoin(PlayerJoinEvent e){
Player player = e.getPlayer();
REntity.playerJoins(player);
player.setGameMode(GameMode.SPECTATOR);
}
}