RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.net.packet.out.SendMapRegion Class Reference
Inheritance diagram for com.runehive.net.packet.out.SendMapRegion:
Collaboration diagram for com.runehive.net.packet.out.SendMapRegion:

Public Member Functions

boolean encode (Player player)
 SendMapRegion ()
Public Member Functions inherited from com.runehive.net.packet.OutgoingPacket
void execute (Player player)
 OutgoingPacket (int opcode, int capacity)
 OutgoingPacket (int opcode, PacketType type)
 OutgoingPacket (int opcode, PacketType type, int size)

Additional Inherited Members

Protected Attributes inherited from com.runehive.net.packet.OutgoingPacket
final PacketBuilder builder

Detailed Description

Definition at line 7 of file SendMapRegion.java.

Constructor & Destructor Documentation

◆ SendMapRegion()

com.runehive.net.packet.out.SendMapRegion.SendMapRegion ( )

Definition at line 9 of file SendMapRegion.java.

9 {
10 super(73, 4);
11 }

Member Function Documentation

◆ encode()

boolean com.runehive.net.packet.out.SendMapRegion.encode ( Player player)

Reimplemented from com.runehive.net.packet.OutgoingPacket.

Definition at line 14 of file SendMapRegion.java.

14 {
15 player.lastPosition = player.getPosition().copy();
16
17 // 317-style region in CHUNKS (8x8)
18 int regionX = (player.getPosition().getX() >> 3);
19 int regionY = (player.getPosition().getY() >> 3);
20
21 // The client's scene base (chunk coords) is region - 6
22 int sceneBaseChunkX = regionX - 6;
23 int sceneBaseChunkY = regionY - 6;
24
25 // Persist the exact base the client will use
26 player.setSceneBaseChunks(sceneBaseChunkX, sceneBaseChunkY);
27
28 System.out.printf("[MapRegion] sceneBaseChunks=(%d,%d) tiles=(%d,%d)%n",
29 sceneBaseChunkX, sceneBaseChunkY,
30 sceneBaseChunkX * 8, sceneBaseChunkY * 8
31 );
32
33 builder.writeShort(player.getPosition().getChunkX() + 6, ByteModification.ADD)
34 .writeShort(player.getPosition().getChunkY() + 6);
35 return true;
36 }

References com.runehive.net.codec.ByteModification.ADD, com.runehive.net.packet.OutgoingPacket.builder, com.runehive.game.world.position.Position.copy(), com.runehive.game.world.position.Position.getChunkX(), com.runehive.game.world.position.Position.getChunkY(), com.runehive.game.world.entity.Entity.getPosition(), and com.runehive.game.world.entity.mob.player.Player.setSceneBaseChunks().

Here is the call graph for this function:

The documentation for this class was generated from the following file: