GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
Packet Class Reference

Public Member Functions

 encode ()
 
 decode ()
 
 clean ()
 

Data Fields

 $buffer
 
 $sendTime
 

Static Public Attributes

static $ID = -1
 

Protected Member Functions

 get ($len)
 
 getLong ($signed=true)
 
 getInt ()
 
 getShort ($signed=true)
 
 getTriad ()
 
 getLTriad ()
 
 getByte ()
 
 getString ()
 
 getAddress (&$addr, &$port, &$version=null)
 
 feof ()
 
 put ($str)
 
 putLong ($v)
 
 putInt ($v)
 
 putShort ($v)
 
 putTriad ($v)
 
 putLTriad ($v)
 
 putByte ($v)
 
 putString ($v)
 
 putAddress ($addr, $port, $version=4)
 

Protected Attributes

 $offset = 0
 

Member Function Documentation

◆ clean()

clean ( )
139  {
140  $this->buffer = null;
141  $this->offset = 0;
142  $this->sendTime = null;
143  return $this;
144  }

◆ decode()

decode ( )
135  {
136  $this->offset = 1;
137  }

◆ encode()

encode ( )
131  {
132  $this->buffer = chr(static::$ID);
133  }

◆ feof()

feof ( )
protected
82  {
83  return !isset($this->buffer{$this->offset});
84  }

◆ get()

get (   $len)
protected
32  {
33  if($len < 0){
34  $this->offset = strlen($this->buffer) - 1;
35 
36  return "";
37  }elseif($len === true){
38  return substr($this->buffer, $this->offset);
39  }
40 
41  return $len === 1 ? $this->buffer{$this->offset++} : substr($this->buffer, ($this->offset += $len) - $len, $len);
42  }

◆ getAddress()

getAddress ( $addr,
$port,
$version = null 
)
protected
72  {
73  $version = $this->getByte();
74  if($version === 4){
75  $addr = ((~$this->getByte()) & 0xff) .".". ((~$this->getByte()) & 0xff) .".". ((~$this->getByte()) & 0xff) .".". ((~$this->getByte()) & 0xff);
76  $port = $this->getShort(false);
77  }else{
78  //TODO: IPv6
79  }
80  }

◆ getByte()

getByte ( )
protected
64  {
65  return ord($this->buffer{$this->offset++});
66  }

◆ getInt()

getInt ( )
protected
48  {
49  return Binary::readInt($this->get(4));
50  }

◆ getLong()

getLong (   $signed = true)
protected
44  {
45  return Binary::readLong($this->get(8), $signed);
46  }

◆ getLTriad()

getLTriad ( )
protected
60  {
61  return Binary::readLTriad($this->get(3));
62  }

◆ getShort()

getShort (   $signed = true)
protected
52  {
53  return $signed ? Binary::readSignedShort($this->get(2)) : Binary::readShort($this->get(2));
54  }

◆ getString()

getString ( )
protected
68  {
69  return $this->get($this->getShort());
70  }

◆ getTriad()

getTriad ( )
protected
56  {
57  return Binary::readTriad($this->get(3));
58  }

◆ put()

put (   $str)
protected
86  {
87  $this->buffer .= $str;
88  }

◆ putAddress()

putAddress (   $addr,
  $port,
  $version = 4 
)
protected
119  {
120  $this->putByte($version);
121  if($version === 4){
122  foreach(explode(".", $addr) as $b){
123  $this->putByte((~((int) $b)) & 0xff);
124  }
125  $this->putShort($port);
126  }else{
127  //IPv6
128  }
129  }

◆ putByte()

putByte (   $v)
protected
110  {
111  $this->buffer .= chr($v);
112  }

◆ putInt()

putInt (   $v)
protected
94  {
95  $this->buffer .= Binary::writeInt($v);
96  }

◆ putLong()

putLong (   $v)
protected
90  {
91  $this->buffer .= Binary::writeLong($v);
92  }

◆ putLTriad()

putLTriad (   $v)
protected
106  {
107  $this->buffer .= Binary::writeLTriad($v);
108  }

◆ putShort()

putShort (   $v)
protected
98  {
99  $this->buffer .= Binary::writeShort($v);
100  }

◆ putString()

putString (   $v)
protected
114  {
115  $this->putShort(strlen($v));
116  $this->put($v);
117  }

◆ putTriad()

putTriad (   $v)
protected
102  {
103  $this->buffer .= Binary::writeTriad($v);
104  }

Field Documentation

◆ $buffer

$buffer

◆ $ID

$ID = -1
static

◆ $offset

$offset = 0
protected

◆ $sendTime

$sendTime

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