32 private float $current,
33 private float $defaultMin,
34 private float $defaultMax,
35 private float $default,
36 private array $modifiers
39 public function getId() : string{ return $this->id; }
41 public function getMin() : float{ return $this->min; }
43 public function getMax() : float{ return $this->max; }
45 public function getCurrent() : float{ return $this->current; }
47 public function getDefaultMin() : float{ return $this->defaultMin; }
49 public function getDefaultMax() : float{ return $this->defaultMax; }
51 public function getDefault() : float{ return $this->default; }
58 public static function read(ByteBufferReader $in) : self{
59 $min = LE::readFloat($in);
60 $max = LE::readFloat($in);
61 $current = LE::readFloat($in);
62 $defaultMin = LE::readFloat($in);
63 $defaultMax = LE::readFloat($in);
64 $default = LE::readFloat($in);
65 $id = CommonTypes::getString($in);
68 for($j = 0, $modifierCount = VarInt::readUnsignedInt($in); $j < $modifierCount; $j++){
69 $modifiers[] = AttributeModifier::read($in);
72 return new self($id, $min, $max, $current, $defaultMin, $defaultMax, $default, $modifiers);
75 public function write(ByteBufferWriter $out) : void{
76 LE::writeFloat($out, $this->min);
77 LE::writeFloat($out, $this->max);
78 LE::writeFloat($out, $this->current);
79 LE::writeFloat($out, $this->defaultMin);
80 LE::writeFloat($out, $this->defaultMax);
81 LE::writeFloat($out, $this->
default);
82 CommonTypes::putString($out, $this->
id);
84 VarInt::writeUnsignedInt($out, count($this->modifiers));
85 foreach($this->modifiers as $modifier){
86 $modifier->write($out);
__construct(private string $id, private float $min, private float $max, private float $current, private float $defaultMin, private float $defaultMax, private float $default, private array $modifiers)