summaryrefslogtreecommitdiff
path: root/serverlist-server
diff options
context:
space:
mode:
authorPugmatt <pugmatt@gmail.com>2019-06-19 01:43:47 -0400
committerPugmatt <pugmatt@gmail.com>2019-06-19 01:43:47 -0400
commit8b2524bc538357c053d80e2cac0352c79e4389e7 (patch)
tree75ecd61a6787d1bdb0e31a279877b05bf8eb7c71 /serverlist-server
parenta98d6164e8f03c19ed568fbe05b69b2a1d4eccf2 (diff)
downloadBedrockConnect-8b2524bc538357c053d80e2cac0352c79e4389e7.tar.gz
BedrockConnect-8b2524bc538357c053d80e2cac0352c79e4389e7.tar.bz2
BedrockConnect-8b2524bc538357c053d80e2cac0352c79e4389e7.zip
Fix bug where player couldn't join back
Diffstat (limited to 'serverlist-server')
-rw-r--r--serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java2
-rw-r--r--serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java15
-rw-r--r--serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java23
3 files changed, 22 insertions, 18 deletions
diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java
index 110a53d..a468fa4 100644
--- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java
+++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java
@@ -8,7 +8,9 @@ import com.nukkitx.protocol.bedrock.data.Attribute;
import com.nukkitx.protocol.bedrock.data.GamePublishSetting;
import com.nukkitx.protocol.bedrock.data.GameRule;
import com.nukkitx.protocol.bedrock.packet.*;
+import io.netty.buffer.ByteBuf;
import main.com.pyratron.pugmatt.bedrockconnect.chunk.ChunkData;
+import main.com.pyratron.pugmatt.bedrockconnect.utils.PaletteManager;
import java.util.ArrayList;
diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java
index 64b680e..b4926fc 100644
--- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java
+++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java
@@ -45,7 +45,7 @@ public class PacketHandler implements BedrockPacketHandler {
private ArrayNode chainData;
private AuthData authData;
- @Override
+ /** @Override
public boolean handle(AdventureSettingsPacket packet) {
System.out.println(packet.getClass().getName());
return false;
@@ -200,7 +200,7 @@ public class PacketHandler implements BedrockPacketHandler {
public boolean handle(MobEquipmentPacket packet) {
System.out.println(packet.getClass().getName());
return false;
- }
+ } **/
@Override
@@ -236,6 +236,7 @@ public class PacketHandler implements BedrockPacketHandler {
return false;
}
+ /**
@Override
public boolean handle(MoveEntityAbsolutePacket packet) {
System.out.println(packet.getClass().getName());
@@ -289,7 +290,7 @@ public class PacketHandler implements BedrockPacketHandler {
public boolean handle(PurchaseReceiptPacket packet) {
System.out.println(packet.getClass().getName());
return false;
- }
+ } **/
@Override
public boolean handle(RequestChunkRadiusPacket packet) {
@@ -324,7 +325,7 @@ public class PacketHandler implements BedrockPacketHandler {
return false; **/
return false;
}
-
+ /**
@Override
public boolean handle(RiderJumpPacket packet) {
System.out.println(packet.getClass().getName());
@@ -341,7 +342,7 @@ public class PacketHandler implements BedrockPacketHandler {
public boolean handle(SetDefaultGameTypePacket packet) {
System.out.println(packet.getClass().getName());
return false;
- }
+ } **/
@Override
public boolean handle(SetLocalPlayerAsInitializedPacket packet) {
@@ -351,6 +352,7 @@ public class PacketHandler implements BedrockPacketHandler {
return false;
}
+ /**
@Override
public boolean handle(SetPlayerGameTypePacket packet) {
System.out.println(packet.getClass().getName());
@@ -835,7 +837,7 @@ public class PacketHandler implements BedrockPacketHandler {
public boolean handle(VideoStreamConnectPacket packet) {
System.out.println(packet.getClass().getName());
return false;
- }
+ } **/
public PacketHandler(BedrockServerSession session, Server server) {
this.session = session;
@@ -845,6 +847,7 @@ public class PacketHandler implements BedrockPacketHandler {
}
public void disconnect() {
+ System.out.println("Player disconnected");
server.removePlayer(player);
}
diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java
index 6c033fc..508a48c 100644
--- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java
+++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java
@@ -17,9 +17,18 @@ import java.util.ArrayList;
public class PaletteManager {
- private ByteBuf cachedPalette;
+ private ArrayList<RuntimeEntry> entries;
public ByteBuf getCachedPalette() {
+ ByteBuf cachedPalette = Unpooled.buffer();
+
+ VarInts.writeInt(cachedPalette, entries.size());
+
+ for (RuntimeEntry entry : entries) {
+ BedrockUtils.writeString(cachedPalette, entry.name);
+ cachedPalette.writeShortLE(entry.data);
+ }
+
return cachedPalette;
}
@@ -32,22 +41,12 @@ public class PaletteManager {
ObjectMapper mapper = new ObjectMapper();
CollectionType type = mapper.getTypeFactory().constructCollectionType(ArrayList.class, RuntimeEntry.class);
- ArrayList<RuntimeEntry> entries = new ArrayList<>();
+ entries = new ArrayList<>();
try {
entries = mapper.readValue(stream, type);
} catch (Exception e) {
e.printStackTrace();
}
-
- cachedPalette = Unpooled.buffer();
-
- VarInts.writeInt(cachedPalette, entries.size());
-
- for (RuntimeEntry entry : entries) {
- BedrockUtils.writeString(cachedPalette, entry.name);
- cachedPalette.writeShortLE(entry.data);
- }
-
}
private static class RuntimeEntry {