PocketMine-MP 5.18.1 git-9381fc4172e5dce4cada1cb356050c8a2ab57b94
TrimMaterial.php
1<?php
2
3/*
4 * This file is part of BedrockProtocol.
5 * Copyright (C) 2014-2022 PocketMine Team <https://github.com/pmmp/BedrockProtocol>
6 *
7 * BedrockProtocol is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 */
12
13declare(strict_types=1);
14
15namespace pocketmine\network\mcpe\protocol\types;
16
18
19final class TrimMaterial{
20
21 public function __construct(
22 private string $materialId,
23 private string $color,
24 private string $itemId
25 ){}
26
27 public function getMaterialId() : string{ return $this->materialId; }
28
29 public function getColor() : string{ return $this->color; }
30
31 public function getItemId() : string{ return $this->itemId; }
32
33 public static function read(PacketSerializer $in) : self{
34 $materialId = $in->getString();
35 $color = $in->getString();
36 $itemId = $in->getString();
37 return new self($materialId, $color, $itemId);
38 }
39
40 public function write(PacketSerializer $out) : void{
41 $out->putString($this->materialId);
42 $out->putString($this->color);
43 $out->putString($this->itemId);
44 }
45}