PocketMine-MP 5.15.1 git-fb9a74e8799c71ed8292cfa53abe7a4c9204629d
EntityMetadataProperties.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\entity;
16
18
19 private function __construct(){
20 //NOOP
21 }
22
23 /*
24 * Readers beware: this isn't a nice list. Some of the properties have different types for different entities, and
25 * are used for entirely different things.
26 */
27 public const FLAGS = 0;
28 public const HEALTH = 1; //int (minecart/boat)
29 public const VARIANT = 2; //int
30 public const COLOR = 3; //byte
31 public const NAMETAG = 4; //string
32 public const OWNER_EID = 5; //long
33 public const TARGET_EID = 6; //long
34 public const AIR = 7; //short
35 public const POTION_COLOR = 8; //int (ARGB!)
36 public const POTION_AMBIENT = 9; //byte
37 public const JUMP_DURATION = 10; //byte
38 public const HURT_TIME = 11; //int (minecart/boat)
39 public const HURT_DIRECTION = 12; //int (minecart/boat)
40 public const PADDLE_TIME_LEFT = 13; //float
41 public const PADDLE_TIME_RIGHT = 14; //float
42 public const EXPERIENCE_VALUE = 15; //int (xp orb)
43 public const MINECART_DISPLAY_BLOCK = 16; //int (block runtime ID)
44 public const HORSE_FLAGS = 16; //int
45 public const FIREWORK_ITEM = 16; //compoundtag
46 /* 16 (byte) used by wither skull */
47 public const MINECART_DISPLAY_OFFSET = 17; //int
48 public const SHOOTER_ID = 17; //long (used by arrows)
49 public const MINECART_HAS_DISPLAY = 18; //byte (must be 1 for minecart to show block inside)
50 public const HORSE_TYPE = 19; //byte
51 public const CREEPER_SWELL = 19; //int
52 public const CREEPER_SWELL_PREVIOUS = 20; //int
53 public const CREEPER_SWELL_DIRECTION = 21; //byte
54 public const CHARGE_AMOUNT = 22; //int8, used for ghasts and also crossbow charging
55 public const ENDERMAN_HELD_ITEM_ID = 23; //short
56 public const ENTITY_AGE = 24; //short
57 /* 25 (int) used by horse, (byte) used by witch */
58 public const PLAYER_FLAGS = 26; //byte
59 public const PLAYER_INDEX = 27; //int, used for marker colours and agent nametag colours
60 public const PLAYER_BED_POSITION = 28; //blockpos
61 public const FIREBALL_POWER_X = 29; //float
62 public const FIREBALL_POWER_Y = 30;
63 public const FIREBALL_POWER_Z = 31;
64 /* 32 (unknown) */
65 public const FISH_X = 33; //float
66 public const FISH_Z = 34; //float
67 public const FISH_ANGLE = 35; //float
68 public const POTION_AUX_VALUE = 36; //short
69 public const LEAD_HOLDER_EID = 37; //long
70 public const SCALE = 38; //float
71 public const HAS_NPC_COMPONENT = 39; //byte (???)
72 public const NPC_SKIN_INDEX = 40; //string
73 public const NPC_ACTIONS = 41; //string (maybe JSON blob?)
74 public const MAX_AIR = 42; //short
75 public const MARK_VARIANT = 43; //int
76 public const CONTAINER_TYPE = 44; //byte (ContainerComponent)
77 public const CONTAINER_BASE_SIZE = 45; //int (ContainerComponent)
78 public const CONTAINER_EXTRA_SLOTS_PER_STRENGTH = 46; //int (used for llamas, inventory size is baseSize + thisProp * strength)
79 public const BLOCK_TARGET = 47; //block coords (ender crystal)
80 public const WITHER_INVULNERABLE_TICKS = 48; //int
81 public const WITHER_TARGET_1 = 49; //long
82 public const WITHER_TARGET_2 = 50; //long
83 public const WITHER_TARGET_3 = 51; //long
84 public const WITHER_AERIAL_ATTACK = 52; //short
85 public const BOUNDING_BOX_WIDTH = 53; //float
86 public const BOUNDING_BOX_HEIGHT = 54; //float
87 public const FUSE_LENGTH = 55; //int
88 public const RIDER_SEAT_POSITION = 56; //vector3f
89 public const RIDER_ROTATION_LOCKED = 57; //byte
90 public const RIDER_MAX_ROTATION = 58; //float
91 public const RIDER_MIN_ROTATION = 59; //float
92 public const RIDER_SEAT_ROTATION_OFFSET = 60; //TODO: find type
93 public const AREA_EFFECT_CLOUD_RADIUS = 61; //float
94 public const AREA_EFFECT_CLOUD_WAITING = 62; //int
95 public const AREA_EFFECT_CLOUD_PARTICLE_ID = 63; //int
96 public const SHULKER_PEEK_ID = 64; //int
97 public const SHULKER_ATTACH_FACE = 65; //byte
98 public const SHULKER_ATTACHED = 66; //byte (TODO: check this - comment said it was a short)
99 public const SHULKER_ATTACH_POS = 67; //block coords
100 public const TRADING_PLAYER_EID = 68; //long
101 public const CAREER = 69; //int
102 public const HAS_COMMAND_BLOCK = 70; //byte
103 public const COMMAND_BLOCK_COMMAND = 71; //string
104 public const COMMAND_BLOCK_LAST_OUTPUT = 72; //string
105 public const COMMAND_BLOCK_TRACK_OUTPUT = 73; //byte
106 public const CONTROLLING_RIDER_SEAT_NUMBER = 74; //byte
107 public const STRENGTH = 75; //int
108 public const MAX_STRENGTH = 76; //int
109 public const EVOKER_SPELL_CASTING_COLOR = 77; //int
110 public const LIMITED_LIFE = 78;
111 public const ARMOR_STAND_POSE_INDEX = 79; //int
112 public const ENDER_CRYSTAL_TIME_OFFSET = 80; //int
113 public const ALWAYS_SHOW_NAMETAG = 81; //byte: -1 = default, 0 = only when looked at, 1 = always
114 public const COLOR_2 = 82; //byte
115 public const NAME_AUTHOR = 83; //string
116 public const SCORE_TAG = 84; //string
117 public const BALLOON_ATTACHED_ENTITY = 85; //int64, entity unique ID of owner
118 public const PUFFERFISH_SIZE = 86; //byte
119 public const BOAT_BUBBLE_TIME = 87; //int (time in bubble column)
120 public const PLAYER_AGENT_EID = 88; //long
121 public const SITTING_AMOUNT = 89; //float
122 public const SITTING_AMOUNT_PREVIOUS = 90; //float
123 public const EAT_COUNTER = 91; //int (used by pandas)
124 public const FLAGS2 = 92; //long (extended data flags)
125 public const LAYING_AMOUNT = 93; //float (used by pandas)
126 public const LAYING_AMOUNT_PREVIOUS = 94; //float (used by pandas)
127 public const AREA_EFFECT_CLOUD_DURATION = 95; //int
128 public const AREA_EFFECT_CLOUD_SPAWN_TIME = 96; //int
129 public const AREA_EFFECT_CLOUD_RADIUS_PER_TICK = 97; //float, usually negative
130 public const AREA_EFFECT_CLOUD_RADIUS_CHANGE_ON_PICKUP = 98; //float
131 public const AREA_EFFECT_CLOUD_PICKUP_COUNT = 99; //int
132 public const INTERACTIVE_TAG = 100; //string (button text)
133 public const TRADE_TIER = 101; //int
134 public const MAX_TRADE_TIER = 102; //int
135 public const TRADE_XP = 103; //int
136 public const SKIN_ID = 104; //int ???
137 public const SPAWNING_FRAMES = 105; //int - related to wither
138 public const COMMAND_BLOCK_TICK_DELAY = 106; //int
139 public const COMMAND_BLOCK_EXECUTE_ON_FIRST_TICK = 107; //byte
140 public const AMBIENT_SOUND_INTERVAL_MIN = 108; //float
141 public const AMBIENT_SOUND_INTERVAL_RANGE = 109; //float
142 public const AMBIENT_SOUND_EVENT = 110; //string
143 public const FALL_DAMAGE_MULTIPLIER = 111; //float
144 public const NAME_RAW_TEXT = 112; //string
145 public const CAN_RIDE_TARGET = 113; //byte
146 public const LOW_TIER_CURED_TRADE_DISCOUNT = 114; //int
147 public const HIGH_TIER_CURED_TRADE_DISCOUNT = 115; //int
148 public const NEARBY_CURED_TRADE_DISCOUNT = 116; //int
149 public const NEARBY_CURED_DISCOUNT_TIME_STAMP = 117; //int
150 public const HITBOX = 118; //compound
151 public const IS_BUOYANT = 119; //byte
152 public const FREEZING_EFFECT_STRENGTH = 120; //float
153 public const BUOYANCY_DATA = 121; //string
154 public const GOAT_HORN_COUNT = 122; //int
155 public const BASE_RUNTIME_ID = 123; //string
156 public const MOVEMENT_SOUND_DISTANCE_OFFSET = 124;
157 public const HEARTBEAT_INTERVAL_TICKS = 125; //int
158 public const HEARTBEAT_LEVEL_SOUND_EVENT = 126; //int
159 public const PLAYER_DEATH_POSITION = 127; //blockpos
160 public const PLAYER_DEATH_DIMENSION = 128; //int
161 public const PLAYER_HAS_DIED = 129; //byte
162 public const COLLISION_BOX = 130; //compound
163}