get => ReadUInt16LittleEndian(Data.AsSpan(Offset));
get => ReadUInt32LittleEndian(Data.AsSpan(Offset)); set => WriteUInt32LittleEndian(Data.AsSpan(Offset), value);
get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x00)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x00), value);
get => ReadSingleLittleEndian(Data.AsSpan(Offset + 0x50)); set => WriteSingleLittleEndian(Data.AsSpan(Offset + 0x50), value);
get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x00)) == 1;
get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0));
Move4 = ReadUInt16LittleEndian(Data.AsSpan(GetOffsetMove(index, 3))),
HeldItem = ReadUInt16LittleEndian(Data.AsSpan(GetOffsetItem(index))),
Species = ReadUInt16LittleEndian(Data.AsSpan(GetOffsetSpecies(index))),
PID = ReadUInt32LittleEndian(Data.AsSpan(GetOffsetPID(index))),
get => ReadUInt64LittleEndian(Data.AsSpan(BlockInfoOffset));