Skip to content
This repository was archived by the owner on Feb 9, 2020. It is now read-only.

Commit 7a0e4cb

Browse files
committed
adapter changes that i cant recall creating due to them being done a while ago
1 parent ebaa978 commit 7a0e4cb

2 files changed

Lines changed: 58 additions & 12 deletions

File tree

src/pocketnode/network/PlayerSessionAdapter.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ const ResourcePackStackPacket = pocketnode("network/minecraft/protocol/ResourceP
77
const ResourcePackChunkRequestPacket = pocketnode("network/minecraft/protocol/ResourcePackChunkRequestPacket");
88
const ResourcePackChunkDataPacket = pocketnode("network/minecraft/protocol/ResourcePackChunkDataPacket");
99
const RequestChunkRadiusPacket = pocketnode("network/minecraft/protocol/RequestChunkRadiusPacket");
10+
const PlayStatusPacket = pocketnode("network/minecraft/protocol/PlayStatusPacket");
11+
12+
const Chunk = pocketnode("level/chunk/Chunk");
1013

1114
const TextPacket = pocketnode("network/minecraft/protocol/TextPacket");
1215

@@ -54,11 +57,12 @@ class PlayerSessionAdapter {
5457
this.server.getLogger().debugExtensive("Status:", ResourcePackClientResponsePacket.STATUS(packet.status));
5558
switch(packet.status){
5659
case ResourcePackClientResponsePacket.STATUS_REFUSED:
57-
this.close("", "You must accept resource packs to join this server.", true);
60+
this.player.close("", "You must accept resource packs to join this server.", true);
5861
break;
5962

6063
case ResourcePackClientResponsePacket.STATUS_SEND_PACKS:
6164
manager = this.server.getResourcePackManager();
65+
packet.packIds.shift();//todo figure out why the first id is 00000000-0000-0000-0000-000000000000
6266
for(let i in packet.packIds){
6367
let uuid = packet.packIds[i];
6468
let pack = manager.getPackById(uuid);
@@ -118,6 +122,36 @@ class PlayerSessionAdapter {
118122

119123
handleRequestChunkRadius(packet){
120124
this.player.setViewDistance(packet.radius);
125+
126+
let distance = this.player.getViewDistance();
127+
for(let chunkX = -distance; chunkX <= distance; chunkX++){
128+
for(let chunkZ = -distance; chunkZ <= distance; chunkZ++){
129+
let chunk = new Chunk(chunkX, chunkZ);
130+
131+
for(let z = 0; z < 16; ++z){
132+
for(let x = 0; x < 16; ++x){
133+
let y = 0;
134+
//chunk.setBlockId(x, y++, z, 7);
135+
//chunk.setBlockId(x, y++, z, 3);
136+
//chunk.setBlockId(x, y++, z, 3);
137+
chunk.setBlockId(x, y++, z, 2);
138+
139+
chunk.setHeight(y);
140+
141+
for(let i = y - 1; i >= 0; i--){
142+
chunk.setBlockSkyLight(x, y, z, 0);
143+
}
144+
}
145+
}
146+
147+
chunk.recalculateHeightMap();
148+
149+
this.player.sendChunk(chunk);
150+
}
151+
}
152+
153+
this.player.sendPlayStatus(PlayStatusPacket.PLAYER_SPAWN);
154+
121155
return true;
122156
}
123157

src/pocketnode/network/RakNetAdapter.js

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,20 @@ class RakNetAdapter {
3737
let identifier = this.players.getPlayerIdentifier(player);
3838

3939
if(packet instanceof BatchPacket){
40-
this.raknet.getSessionManager().getSessionByIdentifier(identifier).queueConnectedPacket(packet, (needACK === true ? RakNet.FLAG_NEED_ACK : 0) | (immediate === true ? RakNet.PRIORITY_IMMEDIATE : RakNet.PRIORITY_NORMAL));
40+
let session;
41+
if((session = this.raknet.getSessionManager().getSessionByIdentifier(identifier))){
42+
session.queueConnectedPacket(packet, (needACK === true ? RakNet.FLAG_NEED_ACK : 0) | (immediate === true ? RakNet.PRIORITY_IMMEDIATE : RakNet.PRIORITY_NORMAL));
43+
}
4144
return null;
4245
}else{
4346
this.server.batchPackets([player], [packet], true, immediate);
44-
this.logger.debugExtensive("Sending "+packet.getName()+":", packet.buffer);
47+
//this.logger.debugExtensive("Sending "+packet.getName()+":", packet.buffer);
4548
}
4649
}
4750
}
4851

4952
tick(){
50-
this.raknet.getSessionManager().readOutgoingMessages().forEach(message => {
51-
switch(message.purpose){
52-
case "openSession":
53-
let player = new Player(this.server, message.data.clientId, message.data.ip, message.data.port);
54-
this.players.addPlayer(message.data.identifier, player);
55-
this.server.getPlayerList().addPlayer(message.data.identifier, player);
56-
break;
57-
}
58-
});
53+
this.raknet.getSessionManager().readOutgoingMessages().forEach(message => this._handleIncomingMessage(message.purpose, message.data));
5954

6055
this.raknet.getSessionManager().getSessions().forEach(session => {
6156
let player = this.players.getPlayer(session.toString());
@@ -79,6 +74,23 @@ class RakNetAdapter {
7974
shutdown(){
8075
this.raknet.shutdown();
8176
}
77+
78+
_handleIncomingMessage(purpose, data){
79+
switch(purpose){
80+
case "openSession":
81+
let player = new Player(this.server, data.clientId, data.ip, data.port);
82+
this.players.addPlayer(data.identifier, player);
83+
this.server.getPlayerList().addPlayer(data.identifier, player);
84+
break;
85+
86+
case "closeSession":
87+
if(this.players.has(data.identifier)){
88+
let player = this.players.get(data.identifier);
89+
player.close(player.getLeaveMessage(), data.reason);
90+
}
91+
break;//
92+
}
93+
}
8294
}
8395

8496
module.exports = RakNetAdapter;

0 commit comments

Comments
 (0)