// This Header is auto generated by BDSLiteLoader Toolchain #pragma once #define AUTO_GENERATED #include "../Global.h" #define BEFORE_EXTRA enum class ActorDataIDs : unsigned short { FLAGS = 0, // Int64 HEALTH = 1, // Int VARIANT = 2, // Int COLOR = 3, // Byte NAMETAG = 4, // String OWNER = 5, // Int64 TARGET = 6, // Int64 AIR = 7, // Short POTION_COLOR = 8, // Int (ARGB!) POTION_AMBIENT = 9, // Byte JUMP_DURATION = 10, // Byte (not Int64?) HURT_TIME = 11, // Int (minecart/boat) HURT_DIRECTION = 12, // Int (minecart/boat) PADDLE_TIME_LEFT = 13, // Float PADDLE_TIME_RIGHT = 14, // Float EXPERIENCE_VALUE = 15, // Int (xp orb) DISPLAY_ITEM = 16, // Byte Int CompoundTag HORSE_FLAGS = 16, // Int, old WITHER_SKULL_IS_DANGEROUS = 16, // Byte, old MINECART_DISPLAY_OFFSET = 17, // Int Int64 Vec3 ARROW_SHOOTER_ID = 17, // Int64, old MINECART_HAS_DISPLAY = 18, // Byte Int64 HORSE_TYPE = 19, // Byte SWELL = 19, // old OLD_SWELL = 20, // old SWELL_DIR = 21, // old CHARGE_AMOUNT = 22, // Byte ENDERMAN_HELD_RUNTIME_ID = 23, // Int, (not Short?) ACTOR_AGE = 24, // Byte, (not Short?) // UNKNOWN_25 = 25, // 25 Byte Int PLAYER_FLAGS = 26, // Byte PLAYER_INDEX = 27, // Int PLAYER_BED_POSITION = 28, // BlockPos FIREBALL_POWER_X = 29, // Float FIREBALL_POWER_Y = 30, // Float FIREBALL_POWER_Z = 31, // Float AUX_POWER = 32, // old FISH_X = 33, // old FISH_Z = 34, // old FISH_ANGLE = 35, // old POTION_AUX_VALUE = 36, // Short LEAD_HOLDER = 37, // Int64 SCALE = 38, // Float INTERACTIVE_TAG = 39, // Byte, (not String?) NPC_SKIN_ID = 40, // String URL_TAG = 41, // String MAX_AIR = 42, // Short MARK_VARIANT = 43, // Int CONTAINER_TYPE = 44, // Byte CONTAINER_BASE_SIZE = 45, // Int CONTAINER_EXTRA_SLOTS_PER_STRENGTH = 46, // Int BLOCK_TARGET = 47, // BlockPos (ENDER CRYSTAL) WITHER_INVULNERABLE_TICKS = 48, // Int WITHER_TARGET_1 = 49, // Int64 WITHER_TARGET_2 = 50, // Int64 WITHER_TARGET_3 = 51, // Int64 AERIAL_ATTACK = 52, // Short BOUNDING_BOX_WIDTH = 53, // Float BOUNDING_BOX_HEIGHT = 54, // Float FUSE_LENGTH = 55, // Int RIDER_SEAT_POSITION = 56, // Vec3 RIDER_ROTATION_LOCKED = 57, // Byte RIDER_MAX_ROTATION = 58, // Float RIDER_MIN_ROTATION = 59, // Byte, (not Float?) // UNKNOWN_60 = 60, // Float AREA_EFFECT_CLOUD_RADIUS = 61, // Float AREA_EFFECT_CLOUD_WAITING = 62, // Int AREA_EFFECT_CLOUD_PARTICLE_ID = 63, // Int SHULKER_PEEK_ID = 64, // Int SHULKER_ATTACH_FACE = 65, // Byte SHULKER_ATTACHED = 66, // Short SHULKER_ATTACH_POS = 67, // BlockPos TRADING_PLAYER_EID = 68, // Int64 TRADING_CAREER = 69, HAS_COMMAND_BLOCK = 70, // Byte COMMAND_BLOCK_COMMAND = 71, // String COMMAND_BLOCK_LAST_OUTPUT = 72, // String COMMAND_BLOCK_TRACK_OUTPUT = 73, // Byte CONTROLLING_RIDER_SEAT_NUMBER = 74, // Byte STRENGTH = 75, // Int MAX_STRENGTH = 76, // Int SPELL_CASTING_COLOR = 77, // Int LIMITED_LIFE = 78, // Int ARMOR_STAND_POSE_INDEX = 79, // Int ENDER_CRYSTAL_TIME_OFFSET = 80, // Int ALWAYS_SHOW_NAMETAG = 81, // Byte COLOR_2 = 82, // Byte NAME_AUTHOR = 83, SCORE_TAG = 84, // String BALLOON_ATTACHED_ENTITY = 85, // Int64 PUFFERFISH_SIZE = 86, // Byte BUBBLE_TIME = 87, AGENT = 88, // Int64 SITTING_AMOUNT = 89, // Float SITTING_AMOUNT_PREVIOUS = 90, // Float EATING_COUNTER = 91, // Int FLAGS_EXTENDED = 92, // Int64 LAYING_AMOUNT = 93, // Float LAYING_AMOUNT_PREVIOUS = 94, // Float DURATION = 95, SPAWN_TIME = 96, CHANGE_RATE = 97, CHANGE_ON_PICKUP = 98, PICKUP_COUNT = 99, INTERACT_TEXT = 100, // String TRADE_TIER = 101, // Int MAX_TRADE_TIER = 102, // Int TRADE_EXPERIENCE = 103, // Int SKIN_ID = 104, // Int SPAWNING_FRAMES = 105, // Int COMMAND_BLOCK_TICK_DELAY = 106, // Int COMMAND_BLOCK_EXECUTE_ON_FIRST_TICK = 107, // Byte AMBIENT_SOUND_INTERVAL = 108, // Float // UNKNOWN_109 = 109, // Float // UNKNOWN_110 = 110, // String // UNKNOWN_111 = 111, // Float // UNKNOWN_112 = 112, // String // UNKNOWN_113 = 113, // Byte // UNKNOWN_114 = 114, // Int // UNKNOWN_115 = 115, // Int // UNKNOWN_116 = 116, // Int // UNKNOWN_117 = 117, // Int // UNKNOWN_118 = 118, // CompoundTag // UNKNOWN_119 = 119, // Byte // UNKNOWN_120 = 120, // CompoundTag // UNKNOWN_121 = 121, // Float // UNKNOWN_122 = 122, // String // UNKNOWN_123 = 123, // Int // UNKNOWN_124 = 124, // String /* AMBIENT_SOUND_EVENT_NAME = 109, FALL_DAMAGE_MULTIPLIER = 110, NAME_RAW_TEXT = 111, CAN_RIDE_TARGET = 112, */ }; enum class DataItemType : unsigned char { Byte = 0, Short = 1, Int = 2, Float = 3, String = 4, CompoundTag = 5, BlockPos = 6, Int64 = 7, Vec3 = 8, }; #undef BEFORE_EXTRA class DataItem { #define AFTER_EXTRA public: DataItemType mType; // 8 unsigned short mId; // 10 bool mDirty = true; // 12 template inline T const& getData() const; template inline T& getData(); template inline bool setData(T const& value); DataItem(DataItemType type, unsigned short id) : mId(id) , mType(type) { } template inline static std::unique_ptr create(unsigned short key, T const& value); template inline static std::unique_ptr create(ActorDataIDs key, T const& value); #undef AFTER_EXTRA #ifndef DISABLE_CONSTRUCTOR_PREVENTION_DATAITEM public: class DataItem& operator=(class DataItem const &) = delete; DataItem(class DataItem const &) = delete; DataItem() = delete; #endif public: /*0*/ virtual ~DataItem(); /*1*/ virtual bool isDataEqual(class DataItem const &) const; /*2*/ virtual std::unique_ptr clone() const = 0; #ifdef ENABLE_VIRTUAL_FAKESYMBOL_DATAITEM #endif };