feof() public method

public feof ( )
Beispiel #1
0
 public function read(NBT $nbt)
 {
     $this->value = [];
     do {
         $tag = $nbt->readTag();
         if ($tag instanceof NamedTag and $tag->getName() !== "") {
             $this->{$tag->getName()} = $tag;
         }
     } while (!$tag instanceof End and !$nbt->feof());
 }
Beispiel #2
0
 public function read(NBT $nbt)
 {
     $this->value = [];
     $this->tagType = $nbt->getByte();
     $size = $nbt->getInt();
     for ($i = 0; $i < $size and !$nbt->feof(); ++$i) {
         switch ($this->tagType) {
             case NBT::TAG_Byte:
                 $tag = new Byte("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Short:
                 $tag = new Short("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Int:
                 $tag = new Int("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Long:
                 $tag = new Long("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Float:
                 $tag = new Float("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Double:
                 $tag = new Double("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_ByteArray:
                 $tag = new ByteArray("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_String:
                 $tag = new String("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Enum:
                 $tag = new TagEnum("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Compound:
                 $tag = new Compound("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_IntArray:
                 $tag = new IntArray("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
         }
     }
 }
Beispiel #3
0
 public function read(NBT $nbt)
 {
     $this->value = [];
     $this->tagType = \ord($nbt->get(1));
     $size = $nbt->endianness === 1 ? \PHP_INT_SIZE === 8 ? \unpack("N", $nbt->get(4))[1] << 32 >> 32 : \unpack("N", $nbt->get(4))[1] : (\PHP_INT_SIZE === 8 ? \unpack("V", $nbt->get(4))[1] << 32 >> 32 : \unpack("V", $nbt->get(4))[1]);
     for ($i = 0; $i < $size and !$nbt->feof(); ++$i) {
         switch ($this->tagType) {
             case NBT::TAG_Byte:
                 $tag = new Byte("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Short:
                 $tag = new Short("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Int:
                 $tag = new Int("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Long:
                 $tag = new Long("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Float:
                 $tag = new Float("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Double:
                 $tag = new Double("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_ByteArray:
                 $tag = new ByteArray("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_String:
                 $tag = new String("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Enum:
                 $tag = new TagEnum("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Compound:
                 $tag = new Compound("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_IntArray:
                 $tag = new IntArray("");
                 $tag->read($nbt);
                 $this->{$i} = $tag;
                 break;
         }
     }
 }
Beispiel #4
0
 public function read(NBT $nbt, bool $network = false)
 {
     $this->value = [];
     $this->tagType = $nbt->getByte();
     $size = $nbt->getInt($network);
     for ($i = 0; $i < $size and !$nbt->feof(); ++$i) {
         switch ($this->tagType) {
             case NBT::TAG_Byte:
                 $tag = new ByteTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Short:
                 $tag = new ShortTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Int:
                 $tag = new IntTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Long:
                 $tag = new LongTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Float:
                 $tag = new FloatTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Double:
                 $tag = new DoubleTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_ByteArray:
                 $tag = new ByteArrayTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_String:
                 $tag = new StringTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_List:
                 $tag = new TagEnum("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_Compound:
                 $tag = new CompoundTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
             case NBT::TAG_IntArray:
                 $tag = new IntArrayTag("");
                 $tag->read($nbt, $network);
                 $this->{$i} = $tag;
                 break;
         }
     }
 }